Tag: icloud

检查用户是否login到iCloud? 斯威夫特/ iOS版

有没有办法让我检查一下当用户打开应用程序时是否login了iCloud? 我希望能够引导他们进入设置页面,如果他们没有login,如果他们login到iCloud,并已经使用了应用程序之前 – 我想跳过login页面…. 我查看了苹果的iCloud和Cloudkits文档,但无法find任何帮助! 这甚至有可能吗?

有关iCloud +核心数据的问题

我有一个应用程序商店,使用coredata作为存储。 我不想用iCloud同步作为新function来更新应用程序。 遵循苹果的示例代码,我设法让我的核心数据存储在设备之间同步。 但是,当某个设备上的应用程序中的任一iCloud同步处于closures/打开状态时,或者该应用程序已从设备中删除并重新安装时,我遇到了问题。 在这两种情况下,数据都不会被同步回设备,尽pipe第二个设备(没有被禁用/重新安装)可以正常使用。 我还发现,当我从所有设备上删除应用程序,然后重新安装时,所有存储都被完全清除。 通过我在控制台中得到了一些合并通知(甚至有些没有错误),我看不到在设备的本地存储没有数据。 浏览我的Mac上的移动文档文件夹,仍然会在我的应用程序的icloud存储中显示大量的事务日志。 即使从所有设备删除应用程序,并从头开始不会解决。 数据只能被同步到一个设备,或者根本不同步。 我想知道是否有什么我可以做的关于这种不一致的状态,创build时,只有一个设备是临时iCloud禁用,或从一个设备删除应用程序? 至于我的代码,它是来自苹果的收件人示例的1:1副本。

魔法logging和iCloud启用/禁用

如何使用魔法logging处理以下stream程? 假设我的应用程序启用function来打开/closuresiCloud同步。 用户安装应用程序。 在启动时,他被问及iCloud的首选项。 他的select:不要使用iCloud。 用户在应用程序中创build一些数据。 然后,他决定将其存储在iCloud中,并启用iCloud。 后来由于某种原因,用户在应用程序中禁用了iCloud。 数据应该保留在本地。 如何正确设置魔法logging? 更新: 源代码

iOS:将现有的核心数据库迁移到iCloud中

我在现有的应用程序中使用核心数据。 现在我想集成iCloud,以便用户可以在他们的iOS设备之间同步他们的内容。 为此,我为我的NSPersistentStoreCoordinator编写了下面的代码(当然,占位符是在我的代码中填写的): – (NSPersistentStoreCoordinator *)persistentStoreCoordinator { if (persistentStoreCoordinator_ != nil) { return persistentStoreCoordinator_; } NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"<DB_Name>.sqlite"]; persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; NSPersistentStoreCoordinator* psc = persistentStoreCoordinator_; if (IOS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"5.0")) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSFileManager *fileManager = [NSFileManager defaultManager]; // Migrate datamodel NSDictionary *options = nil; // this needs to match the […]

未收到Mac上自定义logging区域的CloudKit推送通知

我已经设置了自定义区域订阅,以从我的自定义logging区域接收(静默)推送通知。 一切工作正常在我的iOS设备上,但我不能在我的Mac上收到通知。 要注册通知,我正在注册applicationDidFinishLaunching的通知types: [[NSApplication sharedApplication] registerForRemoteNotificationTypes:NSRemoteNotificationTypeNone]; (尝试其他types的结果相同) application:didRegisterForRemoteNotificationsWithDeviceToken: 然后用有效的令牌调用。 一切似乎很好,但是当自定义区域注册更改,我收到没有通知和 application:didReceiveRemoteNotification: 不叫。 我也尝试设置警报正文为这样一个空string: CKNotificationInfo *info = [[CKNotificationInfo alloc] init]; info.alertBody = @""; info.shouldSendContentAvailable = YES; 但它也没有工作。 当我设置一个string作为警报主体(并注册适当的通知types)时,我也会在右上angular得到一个关于该主体的通知,但application:didReceiveRemoteNotification:不会被调用。 希望您能够帮助我。 谢谢!

iCloud同步无处不在的错误

我在我的应用程序和同步工作中集成了iCloud,但是有时我得到这个错误: +[PFUbiquityTransactionLog loadPlistAtLocation:withError:](324): CoreData: Ubiquity: Encountered an error trying to open the log file at the location: <PFUbiquityLocation: 0x1993c0>: /private/var/mobile/Library/Mobile Documents/ … Error: Error Domain=NSCocoaErrorDomain Code=256 "The operation couldn't be completed. (Cocoa error 256 – The item failed to download.)" -[PFUbiquityTransactionLog loadComparisonMetadataWithError:](220): CoreData: Ubiquity: Error encountered while trying to load the comparison metadata for transaction […]

UIDocument不保存到文件,尽pipe指示成功

我试图用UIDocument打开,修改和保存iCloud Drive中的文件。 当我使用文件位置调用save(to:for:completionHandler:)并对.forOverwriting使用UIDocumentSaveOperation ,它的状态为success = true 。 但是,iCloud文件(如桌面和iOS文件浏览器中所示)不会更新,并且在重新打开文件时,不会显示更改。 我已经validationcontents(forType:)在保存时返回正确(修改)的文件内容。 (注意:我已经看过这个问题 ,但这不是很有帮助) 以下是代码的相关部分: MainViewController.swift: var saveFile: SBDocument? @IBAction func bbiOpen_pressed(_ sender: UIBarButtonItem) { if saveFile == nil { let importMenu = UIDocumentMenuViewController(documentTypes: self.UTIs, in: .import) importMenu.delegate = self importMenu.popoverPresentationController?.barButtonItem = bbiOpen self.present(importMenu, animated: true, completion: nil) } else { willClose() } } func willClose(_ action: UIAlertAction?) […]

从iCloud备份中排除:NSURLIsExcludedFromBackupKey

我的应用程序已被拒绝第二次,我失去了3个星期:( 第一次提交,我排除了只有董事在iCloud备份。 苹果拒绝… 第二次提交时,我排除了从iCloud备份下载的“DIRECTORIES&PICTURES”。 苹果再次拒绝…苹果也抱怨说,我没有“恢复”function,我的应用程序内购买,而事实上,我有一个“恢复”button,它在我testing它的时候工作。 我已经完成了苹果通过使用NSURLIsExcludedFromBackupKey排除文件备份的build议。 有一个有趣的评论由Macmade的在这里stackoverflow : 有时候苹果的评论家认为你的数据可以重新生成,而不是。 那么你将不得不解释为什么要备份数据 审阅者多久会被误解,我们必须向他们解释,该内容是否需要离线和不可重新生成? 这里是我用来从iCloud中排除我的文件和目录的代码。 你发现任何问题? – (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL { // There's a chance the download failed, but don't assert here //assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]); NSError *error = nil; BOOL success = [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error: &error]; if(!success){ NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], […]

iCloud + Core Data的替代品可以在iOS和OS X之间同步数据

我正在开发iOS / OS X的应用程序,我想在它们之间同步数据。 现在我使用核心数据持久性数据。 我读到iCloud与核心数据使用不够成熟。 真的吗 ? 所以我尝试使用新的DropBox同步API(同步SQLite文件),但没有支持OS X. parsingSDK是一个好主意吗? (这也将允许我添加Android支持) 如果不是,有其他的解决办法吗? 谢谢。

Sunrise for iOS如何使用iCloud凭据访问我们的日历?

iOS上的日出日历与版本2一起添加了对iCloud日历的支持。 在这个页面上 ,日出的团队说: 当您键入您的iCloud凭据时,只能通过SSL以安全的方式将其发送到我们的服务器。 我们用它们来从苹果生成一个安全的令牌。 这个安全令牌是我们在我们的服务器上存储的唯一东西,我们从不存储您的实际iCloud凭证。 而最近: 自从我们的2.11版本,我们没有发送iCloud凭据到我们的服务器,应用程序生成安全令牌客户端。 所有这一切意味着,由Apple生成的令牌可以用于代表用户从Apple的服务器访问用户的iCloud日历。 在这里和那里有几个参考文献,讲述了一个用户可以findCalDAV URL来与日历客户端一起使用的方式,或者如何通过在iCloud web应用程序上将她的日历内容作为.ics文件下载 。 日出小组所描述的方法似乎不适合任何这些方法。 所以我想知道一家创业公司如何公开(显然在苹果的支持下)可以访问苹果的服务器。