我有一个使用Core Data的iOS应用。该应用程序可以将文件本地保存在设备和iCloud中。 当我使用
创建普适容器的URL时 FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents")
读取和写入Core Data文件工作正常。
现在,我想将最近使用的文件的书签存储在UserDefaults
中。我使用标准方法url.bookmarkData()
创建书签。
当我使用解析书签中的网址时
var isStale = false
let url = try URL(resolvingBookmarkData: bookMark, bookmarkDataIsStale: &isStale)
它看起来与上述由FileManager
创建的URL相同。可以正确读取文件内容。到目前为止一切顺利。
当应用尝试保存我的CoreDataStack的managedObjectContext
时,会出现问题。上下文会引发以下错误:
Updating max pk failed: authorization denied with userInfo of { NSSQLiteErrorDomain = 23; }
从书签中解析一个无处不在的容器URL之后,显然写访问似乎被拒绝了,我不知道要解决这个问题。