【问题标题】:iCloud exception the operation couldn't be completed no such file or directory, iOS8iCloud异常操作无法完成没有这样的文件或目录,iOS8
【发布时间】:2014-11-13 11:45:33
【问题描述】:

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

2014-09-19 01:16:31.819 xxxxxx[369:57150] __45-[PFUbiquityFilePresenter processPendingURLs]_block_invoke(439): CoreData: Ubiquity: Librarian 在开始下载时返回了一个严重错误 Error Domain=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-B1 BF612D04D947.1.cdt} 与 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}";

} 用于这些网址:(

"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"

)

【问题讨论】:

    标签: exception core-data ios8 icloud


    【解决方案1】:

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

    【讨论】:

    • 谢谢!我重新阅读了我的代码,我使用了 "[[NSURL fileURLWithPath:[self applicationDocumentsDirectory]] URLByAppendingPathComponent:storeFilename]" ,目录是 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES) lastObject],文件名只是文件的名称。所以你提到它有时会创建一个不同的,这可能会导致冲突。
    • 它不起作用。应用程序在新应用程序版本的 CoreDataUbiquitySupport 中创建一个新文件夹,即使已经存在一个文件夹。它不会使应用程序崩溃,但升级后所有用户数据都会丢失(尽管并非所有用户都会发生这种情况)。它再次创建的文件夹是mobile-xxxxx文件夹,之后的coredata文件夹仍然使用相同的ID。
    • 抱歉回复晚了。我已经就这个问题联系了苹果。反馈是。首先,XCode 中有一些“功能”可以在调试时根据版本和机器 ID 提供不同的文件夹名称。其次,这可能是 Apple 代码中的一个潜在错误,Apple 开发人员支持要求我创建一张票,以便他们可以在未来的版本中分析和修复该错误。结果,我从我的应用程序中完全禁用了 iCloud 同步功能。我确实收到了一些来自用户的愤怒和负面反馈,但至少从现在开始没有数据丢失。
    • 每次应用程序运行时我都会生成 url,并且只存储文件名。我仍然在 iCloud 的核心数据中收到此错误。它在我的应用程序中造成了很多不一致和数据丢失。令人沮丧。我也打算禁用 icloud。
    • 我注意到的一件事是,即使出现此错误,icloud 最终也可以正常设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多