Почему NSFileManager не работает с UIDocumentBrowserViewController?

Мне нужно проверить файлы в каталоге существует и может быть открыт, но мой FileManager.default.fileExists(atPath: <#url_from_uidocumentbrowservc#>) вернуть ложь. Я не могу получить список элементов в выбранном каталоге, я не могу проверить, существует ли мой элемент или нет.

И еще одна вещь, я хочу знать, сколько элементов содержится в корневом каталоге из выбранного элемента. Например, я выбираю файл проекта и хочу проверить, сколько элементов содержится в каталоге проекта, а затем использовать эти файлы как зависимости проекта.

Смотрит на код:

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

}

PS URL.startAccessingSecurityScopedResource тоже не работает.

1 ответ

Если вы хотите узнать, какие файлы сохранены в корневом каталоге:

 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]
}
Другие вопросы по тегам