Tag: icloud

使用UIDocumentPickerViewController,可以像在Slack中一样打开默认服务(Dropbox,Google Drive等)吗?

通常情况下,UIDocumentPicker的行为就是您提供的,那么用户必须使用右上angular的“位置”菜单在服务之间切换。 默认情况下可以首先显示“Dropbox”或“Google Drive”吗? 几乎就像我们“深入”到UIDocumentPicker服务。 看起来像Slack App能够做到这一点,也是MyMail应用程序,但我无法find它的API。 有任何想法吗?

使用CloudKit进行私人数据共享

有没有一种直接的方式来使用CloudKit在两个或更多用户之间共享私人数据? 公开和私人date是显而易见的,但似乎没有办法允许一组用户自己组织自己的分享数据,而不让系统的所有其他用户和应用程序开发人员使用它们。 我有一个学术协作的应用程序,但最简单的例子是两个用户之间的私人消息。 我想可以尝试在CloudKit上build立一个公钥encryption系统来实现这个目标,但这并不是我所期望的,并且可以扩展到每个组的两个用户之外。

CloudKit在不同的iCloud帐户之间共享数据,但不与所有人共享

在我的应用程序中,我想通过iCloud与其他iCloud用户共享数据,但不是与整个世界共享,而是与其他iCloud用户共享。 我想过这种方法可行,但我不确定它是否会起作用,如果我忘记或误解了一些事情。 假设用户A希望能够与其他iCloud用户共享一个string,但不能与所有人共享。 因此,用户A想要将“Hello World”分享给用户B,而不是分享给用户C,而不是分享给用户D. 所以我的应用程序有一个公共数据库和一个loggingtypes是每个人都一样。 在该loggingtypes中,有一个stringtypes的字段也是相同的。 现在,用户A将logging“Hello World”保存到iCloud。 这里有个诀窍:我会为string添加一个唯一的标识符,比如“Hello World1230ABD6-3C61-1234-802E-D866F09AC012”,并将其上传到iCloud。 现在,用户A需要告诉用户他希望与他的UUID共享数据,所以用户A告诉用户B.现在,用户A的UUID将被添加为用户B的CKSubscription的谓词。 这将允许用户B从用户A获取string,但用户C或用户D不会接收到CKNotification,因为他们的CKSubscription中没有用户A的UUID。 这是否正常工作? 还是有另一种devise模式,允许通过iCloud与其他iCloud账户共享/同步,但不能与所有人(公众)共享/同步? PS我想分享的数据不太敏感,所以不需要非常安全。 数据对每个人(公共)都不是很有意思,所以只需要select其他的iCloud账户就可以共享数据。 我很感激任何想法或提示如何实现这一点! 谢谢

使用iCloud文档存储的最佳方法

我目前在我的iOS应用程序中使用本地存储。 用户数据存储在文档目录中,现在我计划使用iCloud Documents存储。 我打算这样做: 检查设备上是否有iCloud 如果是,则使用URLForUbiquityContainerIdentifier获取iCloud容器URL 将新的文件和文档保存到这个新的URL 为此,我使用此代码将返回文档文件夹的URL(iCloud或本地) class CloudDataManager { class func getDocumentDiretoryURL() -> NSURL { let localDocumentsURL = NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: .UserDomainMask).last! as NSURL let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil)?.URLByAppendingPathComponent("Documents") if userDefault.boolForKey("useCloud") && iCloudDocumentsURL != nil { return iCloudDocumentsURL! } else { return localDocumentsURL } } } 这是最好的做法吗? 如果有一天iCloud不可用,我担心会出现问题,所以本地目录将被用来代替云容器,并且将是空的。 谢谢。

不要备份到iCloud,但仍然拒绝

在我的应用程序,我必须存储核心数据数据库和audio文件,所以我解码,把他们在文件目录。 为了防止他们备份,当我第一次启动应用程序时,我把这样的不备份标志 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self addSkipBackupAttributeToItemAtURL:[self applicationDocumentsDirectory]]; } – (NSURL *)applicationDocumentsDirectory { return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; } – (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL { if (&NSURLIsExcludedFromBackupKey == nil) { // iOS <= 5.0.1 const char* filePath = [[URL path] fileSystemRepresentation]; const char* attrName = "com.apple.MobileBackup"; u_int8_t attrValue = 1; int result = […]

将本地Core Data移至iCloud

如何在已经使用本地存储核心数据的应用程序中启用iCloud Core Data? 我试过在我的持久存储选项中使用NSPersistentStoreUbiquitousContentNameKey 。 不幸的是,这个选项启用iCloud,但不会将任何本地数据传输到iCloud。 我似乎无法得到migratePersistentStore:toURL:options:withType:error:要么工作。 我提供了持久性存储,URL,iCloud选项等,它仍然不会将现有的本地数据迁移到iCloud。 以下是我如何使用该方法: – (void)migratePersistentStoreWithOptions:(NSDictionary *)options { NSError *error; self.storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:[NSString stringWithFormat:@"%@.sqlite", self.SQLiteFileName]]; NSPersistentStore *store = [self.persistentStoreCoordinator migratePersistentStore:self.persistentStoreCoordinator.persistentStores.firstObject toURL:self.storeURL options:options withType:NSSQLiteStoreType error:&error]; if (store) NSLog(@"[CoreData Manager] Store was successfully migrated"); else NSLog(@"[CoreData Manager] Error migrating persistent store: %@", error); } 本地存储保持独立于iCloud存储。 如果可能,我想将本地核心数据移动到iCloud,而无需手动传输每个实体。 有任何想法吗? 我可以find很多关于从 iCloud移回本地存储的文章,教程和文章 – […]

迁移持久性商店崩溃

我有一个开关打开或closuresiOS 7应用程序的iCloud。 iCloud同步工作正常。 当iCloud打开时,我将其closures,我称之为: – (void)migrateiCloudStoreToLocalStore { NSError *error; __weak NSPersistentStoreCoordinator *psc = self.managedObjectContext.persistentStoreCoordinator; NSDictionary *options = @{NSMigratePersistentStoresAutomaticallyOption:@YES, NSPersistentStoreRemoveUbiquitousMetadataOption : @YES}; NSPersistentStore *currentStore = [psc persistentStores][0]; NSLog(@"iCloud Store – %@", currentStore); NSLog(@"Local Store – %@", self.store); [psc migratePersistentStore:currentStore toURL:self.store options:options withType:NSSQLiteStoreType error:&error]; } 我可以看到两个存储都存在,但是当migratePersistentStore:toURL:options:withType:error:被调用时,它仍然崩溃。 这是我得到的错误: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** […]

Cloudkit我们可以修改公共数据库的数据

我刚刚通过这个链接cloudkit中的云套件文档,但没有明确要修改公共数据库的数据库logging。 根据这个在cloudkit框架中的描述。 使用公共数据库 ,默认情况下图像中指定的数据是世界可读的,拥有者可写。 这意味着只有拥有者可以修改他的数据,其他用户只能读取? 假设使用公共数据库,用户A可以访问用户B的logging,但用户A可以修改同一应用程序中的用户B的logging。 请build议。 谢谢。

iOS从我的应用程序备份了28.0KB的一些未知数据到iCloud

我的应用因为没有将“不备份”属性设置为我使用的两个内部文件而被拒绝(并存储在/ Documents中)。 我已经设置了属性,不再备份这些文件(〜11.5MB)。 它仍然支持一些数据的28kb。 我删除了/ Documents文件夹中的所有数据,并将它们放在/ tmp中,以确保文档中的任何内容都不可能被备份。 我的validation/文件是空的我的应用程序更改后,但iCloudpipe理find28kb的数据备份。 我怎样才能确定这个数据是什么,以防止备份? 我不想再被拒绝,所以我想validation应用程序在iCloud上占用了0KB的备份存储空间。 谢谢 这是拒绝通知: 2.23 我们发现您的应用不符合iOS数据存储指南,这是根据App Store评论指南要求的。 特别是,我们发现,启动时,您的应用程序商店11.53 MB。 要检查您的应用程序正在存储多less数据: 安装并启动您的应用程序 进入设置> iCloud>存储和备份>pipe理存储 如有必要,请点按“显示所有应用” 检查你的应用程序的存储 iOS数据存储指南指出,只有用户使用您的应用程序创build的内容(例如文档,新文件,编辑等)可以存储在/ Documents目录中,并由iCloud进行备份。 应用程序使用的临时文件只能存储在/ tmp目录中; 请记住当用户退出应用程序时删除存储在这个位置的文件。 可以重新创build的数据必须持续保持应用程序的正常运行,或者因为客户期望它可供离线使用,则应标记为“不备份”属性。 对于NSURL对象,请添加NSURLIsExcludedFromBackupKey属性以防止备份相应的文件。 对于CFURLRef对象,使用相应的kCFURLIsExcludedFromBackupKey属性。 有关更多信息,请参阅技术问答1719:如何防止将文件备份到iCloud和iTunes? 有必要修改您的应用程序以符合iOS数据存储指南的要求。 对于不同的代码级问题,您可能希望咨询Apple开发者技术支持。 请务必准备好任何符号化的崩溃日志,截图或步骤以重现DTS工程师跟进时的问题。 有关如何符号化和读取崩溃日志的信息,请参阅技术说明TN2151了解和分析iPhone OS应用程序崩溃报告。

我的应用程序正在UIDocumentPickerViewController上崩溃

我正在处理我的iOS应用程序上的文件共享,我是UIDocumentPickerViewController 。 我不知道为什么我的应用程序崩溃。 UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.image"] inMode:UIDocumentPickerModeImport]; documentPicker.delegate = self; documentPicker.modalPresentationStyle = UIModalPresentationFormSheet; [self presentViewController:documentPicker animated:YES completion:nil]; 应用程序在突出显示的行上崩溃。 有没有人以前做过? 我想要像下面的附件一样做