0

在我的项目中,我将 UIManagedDocument 与 CoreData 和 iCloud 一起使用。在 iCloud 中创建 UIManagedDocument 时似乎有很多错误——尤其是在没有网络服务的情况下。

但是现在我在保存文档以进行创建时遇到了一些奇怪的错误/应用程序崩溃与网络服务(也与 wifi):

-[PFUbiquitySetupAssistant validateOptionsWithError:](262): CoreData: Ubiquity:  Error attempting to read ubiquity root url: file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/.
Error: Error Domain=LibrarianErrorDomain Code=1 "The operation couldn’t be completed. (LibrarianErrorDomain error 1 - Unable to initiate item download.)" UserInfo=0x1f56d140 {NSURL=file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/, NSUnderlyingError=0x1d89b4a0 "The operation couldn’t be completed. (UBErrorDomain error 0.)", NSDescription=Unable to initiate item download.}
userInfo: {
NSDescription = "Unable to initiate item download.";
NSURL = "file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/";
NSUnderlyingError = "Error Domain=UBErrorDomain Code=0 \"The operation couldn\U2019t be completed. (UBErrorDomain error 0.)\"";
}

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores.  It cannot perform a save operation.'
*** First throw call stack:

它表示无法完成从事务日志文件夹的下载操作。我无法理解这一点,因为应用程序应该创建一个文档而不是下载任何内容。

顺便说一句,该应用程序的 iCloud 文件夹是空的!

从设备中删除 iCloud 帐户并再次登录也无济于事。该设备是运行 iOS 6 的 iPhone 4S。

有没有人有过类似的经历?

编辑:

现在,经过数百次删除和重建后,我在同一设备上得到了不同的错误:

-[PFUbiquitySafeSaveFile waitForFileToUpload:](268): CoreData: Ubiquity: <PFUbiquityPeerReceipt: ...>(0)
permanentLocation: <PFUbiquityLocation: ...>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Document/Q0_AoYZV8MTbAihmdWBiEFhxmCgziT9RyrvylTHgQP4=/receipt.0.cdt
safeLocation: <PFUbiquityLocation: ...>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Document/Q0_AoYZV8MTbAihmdWBiEFhxmCgziT9RyrvylTHgQP4=/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.0.cdt
currentLocation: <PFUbiquityLocation: ...>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Document/Q0_AoYZV8MTbAihmdWBiEFhxmCgziT9RyrvylTHgQP4=/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.0.cdt

kv: (null)

Safe save failed for file, error: Error Domain=NSCocoaErrorDomain Code=512 "The file upload timed out." UserInfo=0x1de36dc0 {NSLocalizedDescription=The file upload timed out.}
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores.  It cannot perform a save operation.'
*** First throw call stack:

不知何故,设备似乎无法访问 iCloud 服务,即使它获得了 iCloud 令牌并且可访问性很好......

4

3 回答 3

1

是的,我有过非常相似的经历。这些是 Core Data 的 iCloud 集成中的内部错误。它们并不意味着您做错了什么,并且您无法在代码中做任何事情来修复它们。你是对的——你没有在你的代码中下载任何东西,但是 Core Data 正在尝试这样做,在幕后,并且失败了。这完全不受您的控制。

第一个错误表明框架无法下载现有的事务文件。可能没有,但也说不出来。第二个错误表示它无法创建任何新的事务文件。你是对的——你无权访问 iCloud,即使 API 说你可以访问。

可以通过在“设置”->“iCloud”中找到您的应用程序并删除那里的所有数据,从设备中删除您的应用程序,牺牲一只鸡,然后再试一次,让事情再次运行。但是问题又回来了。向 Apple 提交错误并希望它得到修复。

于 2013-03-16T00:05:54.357 回答
0

我知道这很旧,但我一直在寻找类似的问题,也许以下内容会对其他人有所帮助:

在我的情况下,我在删除 iCould 数据和正在开发的应用程序并从头开始重建后得到了这个。设备的完全关闭和重新启动似乎可以解决它 - 不知道为什么,也许 Timbo 的“重置所有设置”会做同样的事情 - 但这样你也不会丢失其他应用程序设置。

阿里

于 2014-02-17T18:23:35.487 回答
0
于 2013-08-12T22:39:23.240 回答