iCloud异常操作无法完成没有这样的文件或目录,iOS8

use*_*453 21 exception core-data icloud ios8

iOS /上的核心数据工作正常,但在iOS 8中获取更新或写入数据库时​​,我得到了

2014-09-19 01:16:31.819 xxxxxx [369:57150] __45- [PFUbiquityFilePresenter processPendingURLs] _block_invoke(439):CoreData:Ubiquity:Librarian在开始下载时返回严重错误错误域= BRCloudDocsErrorDomain Code = 5"操作无法运行没有完成.

(BRCloudDocsErrorDomain错误5 - URL处没有文档)"UserInfo = 0x175a85c0 {NSDescription = URL处没有文档,NSUnderlyingError = 0x175aefb0"操作无法完成.没有相应的文件和目录",

NSFilePath =/var/mobile/Library/Mobile Documents/xxxxx/CoreData/ATracker/mobile~268B3375-7A17-4FFA-89DE-AE1BF8DDB134/xxxxx/OJ~PXmuzk0E_yZN9NTVWA20~k_qcPzNgyW_uT_mz098 =/8929F33C-BB6A-48B6-B16C-BF612D04D947.1 .cdt} with userInfo {

NSDescription = "No document at URL";
NSFilePath = "/var/mobile/Library/Mobile Documents/xxxxx~xxxx~xxxxx/CoreData/xxxxx/mobile~268B3375-7A17-4FFA-89DE-AE1BF8DDB134/xxxxx/OJ~PXmuzk0E_yZN9NTVWA20~k_qcPzNgyW_uT_mz098=/8929F33C-BB6A-48B6-B16C-BF612D04D947.1.cdt";
NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\" UserInfo=0x175c2d50 {NSDescription=No such file or directory}";
Run Code Online (Sandbox Code Playgroud)

对于这些网址:(

"file:///var/mobile/Library/Mobile%20Documents/xxxxx~xxxx~xxxxx/CoreData/xxxxx/mobile~268B3375-7A17-4FFA-89DE-AE1BF8DDB134/xxxxx/OJ~PXmuzk0E_yZN9NTVWA20~k_qcPzNgyW_uT_mz098=/8929F33C-BB6A-48B6-B16C-BF612D04D947.1.cdt"
Run Code Online (Sandbox Code Playgroud)

)

小智 5

我有类似的问题,不是iCloud,而是mainBundle.可能是您正在保存文档的URL或filePath,然后尝试通过该URL/filePath读取它们.但是在iOS8中,每次运行应用程序时,mainBundle的位置都不同(URL的xxxxx~xxxx~xxxxxx).因此,您应该只保存文件名,并且每次都可以获取该文件的URL/filePath.我不确定这是否也适用于iCloud Documents,但我希望这有助于或引导您走向正确的方向.

  • user2585453,那你如何更改源代码并且它有效? (2认同)
  • 这是行不通的.应用程序在新的应用程序版本中在CoreDataUbiquitySupport中创建一个新文件夹,即使已存在一个文件夹.它不会使应用程序崩溃,但升级后所有用户数据都会丢失(尽管并非适用于所有用户).它再创建的文件夹是mobile-xxxxx文件夹,它后面的coredata文件夹仍使用相同的ID. (2认同)