从iOS 11开始,每次使用UIDocument
API 创建新文档时都会遇到以下错误:
[错误]无法获取项目/var/mobile/Containers/Data/Application/XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/Documents/myDoc-XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX.myFile(n)的属性值.
错误:错误域= NSFileProviderInternalErrorDomain代码= 1
"不允许读者访问该URL."
UserInfo = {NSLocalizedDescription =不允许读者访问该URL.}
不同于类似的问题(1,2,3上SO)在此,我没有使用UIDocumentBrowserViewController
.我只是创建一个UIDocument并自己调用save()
该Documents
目录.我发现的最接近的问题用途UIManagedDocument
.但是,就我而言,尽管出现错误消息,仍然可以成功创建和写入文件.
这是我保存例程的要点:
@IBAction func createDoc(_ sender: Any) {
let uuid = UUID().uuidString
let doc = Document(baseName: "myDoc-\(uuid)")
doc.save(to: doc.fileURL, for: .forCreating) { (completed) in
if (completed) {
doc.close(completionHandler: nil)
self.verifyNumberOfFiles()
}
}
}
Run Code Online (Sandbox Code Playgroud)
UIDocument
为了简化这个问题,我的子类也几乎是空白的:
class Document: UIDocument {
let fileExtension = "myFile"
override …
Run Code Online (Sandbox Code Playgroud)