1

我有一个使用 Core Data 的 iOS 应用程序。该应用程序可以将文件本地保存在设备和 iCloud 中。当我使用创建无处不在容器的 URL 时

    FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents")

读取和写入核心数据文件工作正常。

现在我想将最近使用的文件的书签存储在UserDefaults. 我使用标准方法创建书签url.bookmarkData()

当我使用从书签解析网址时

    var isStale = false
    let url = try URL(resolvingBookmarkData: bookMark, bookmarkDataIsStale: &isStale)

它看起来与上述创建的 url 相同FileManager。可以适当地读取文件内容。到目前为止,一切都很好。

当应用程序尝试保存managedObjectContext我的 CoreDataStack 时,就会出现问题。上下文触发以下错误:

Updating max pk failed: authorization denied with userInfo of { NSSQLiteErrorDomain = 23; }

显然,在从书签解析普遍存在的容器 URL 后,写入访问似乎被拒绝,我不知道如何解决这个问题。

4

0 回答 0