为什么NSFileManager不能与UIDocumentBrowserViewController一起使用?

时间:2019-01-02 20:35:06

标签: swift nsfilemanager uidocument uidocumentbrowservc

我需要检查目录中的文件是否存在并且可以打开,但是我的FileManager.default.fileExists(atPath: <#url_from_uidocumentbrowservc#>)返回false。我无法获取所选目录中的项目列表,也无法检查我的项目是否存在。

还有一件事,我想知道所选项目的根目录中包含多少项目。例如,我选择项目文件,并想要检查项目目录中包含多少项目,然后像项目依赖项那样使用此文件。

要编码:

func presentDocument(at documentURL: URL) throws {
   let rootDirectoryURL = documentURL.deletingLastPathComponent()
   let items = try FileManager.default.contentsOfDirectory(at: rootDirectoryURL, 
                                      includingPropertiesForKeys: [], 
                                      options: []) // Return error `permission denied`
   ... other code for init document

}

P.S。 URL.startAccessingSecurityScopedResource也不起作用。

1 个答案:

答案 0 :(得分:0)

如果您想知道哪些文件保存在根目录中:

 override func viewDidLoad() {
    super.viewDidLoad()

 let fileName = getDocumentsDirectory().appendingPathComponent("fileNameSave")
    print(fileName)
    // Name of saved path

    do {
        try  .write(to: fileNameZip)
    } catch {
        print("error")
    }
}


func getDocumentsDirectory() -> URL {
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
    return paths[0]
}