我使用iCloud+CoreData
作为我应用的持久堆栈。
当我的应用程序安装在第二台设备上时,问题就出现了。
我在登机阶段看到了错误日志,错误似乎影响了两个设备。
在入职期间,我执行" addPersistentStoreWithType"在我的NSPersistentStoreCoordinator
上触发iCloud初始种子下载(如果存在)。
"选项" iCloud商店的参数如下:
NSDictionary *options =@{NSMigratePersistentStoresAutomaticallyOption: @YES,
NSInferMappingModelAutomaticallyOption: @YES,
NSPersistentStoreUbiquitousContentNameKey: "PersistentStore_iCloud",
NSSQLitePragmasOption: @{@"journal_mode" : @"DELETE"}};
"网址" " addPersistentStoreWithType"中使用的参数方法如下:
NSURL *docUrl = [[[NSFileManager defaultManager]
URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask]lastObject];
NSURL *cloudStore = [[docUrl URLByAppendingPathComponent:"PersistentStore_iCloud"]
URLByAppendingPathExtension:@"sqlite"];
之后我看到两个设备记录的XCode中出现以下错误(稍后会出现第一个设备):
2015-07-03 11:14:37.362 Quadro [4110:1837886] __45- [PFUbiquityFilePresenter processPendingURLs] _block_invoke(439):CoreData:Ubiquity:图书管理员返回严重错误 downloads Error Domain = BRCloudDocsErrorDomain Code = 5"操作 无法完成。 (BRCloudDocsErrorDomain错误5 - 没有文档 在URL)" UserInfo = 0x171276940 {NSDescription = URL处没有文档, NSFilePath =在/ var /移动/库/手机 文件/ iCloud的〜我〜〜行动的Quadro / CoreData / PersistentStore_iCloud / .baseline / PersistentStore_iCloud / Le0RVMmU〜RX4wGSl7Dd6sM81tBZId1iVh〜WP_〜6U〜4U = / baseline.zip, NSUnderlyingError = 0x171258600"操作无法完成。没有 userInfo {这样的文件或目录"} NSDescription =" URL上没有文档&#34 ;; NSFilePath =" / var / mobile / Library / Mobile Documents / iCloud~me~action~Quadro / CoreData / PersistentStore_iCloud / .baseline / PersistentStore_iCloud / Le0RVMmU~RX4wGSl7Dd6sM81tBZId1iVh~Wp_~6U~4U = / baseline.zip" ; NSUnderlyingError ="错误域= NSPOSIXErrorDomain代码= 2 \"操作无法完成。没有这样的文件或目录\" UserInfo = 0x171278800 {NSDescription = No such file or directory}&#34 ;;为了 这些网址:( "文件:///var/mobile/Library/Mobile%20Documents/iCloud~me~actions~Quadro/CoreData/PersistentStore_iCloud/.baseline/PersistentStore_iCloud/Le0RVMmU~RX4wGSl7Dd6sM81tBZId1iVh~Wp_~6U~4U=/baseline.zip& #34; )
结论
有时,当错误发生时,数据不会完全同步,有时是。
两款设备都使用非常可靠的WiFi 我注意到系统正在尝试使用此目录检索" baseline.zip:
"在/ var /移动/库/移动
文档/ iCloud的〜我〜动作〜的Quadro / CoreData / PersistentStore_iCloud / .baseline / PersistentStore_iCloud / 38Bj4gxLeIZNVMjIuPeKljVslTu〜kP0UhpAvrkvKXOM = / baseline.zip"
浏览设备文件系统文件夹(使用iExplorer或类似的实用工具)我发现设备文件系统中不存在此目录。
我使用iOS版本8.3(12F69)与Apple iPad mini 2(A1489)和iPhone6(A1586)。
-
任何建议都会受到赞赏,我正在努力解决这个问题。 感谢。