Получить содержимое iCloud Drive

В моем представленииDidLoad мне нужно проверить, доступны ли файлы, которые я сохранил на iCloud Drive, и не были ли они удалены. Насколько я читал, я не могу использовать стандартные вызовы FileManager:

FileManager.default.fileExists(atPath: filePath)

Какая будет альтернатива. Я использую NSMetadataQuery, но я хотел знать, есть ли простой способ запросить содержимое UbiquitousDocument приложения до того, как появятся уведомления.

Кроме того, я использую средство ios11 для обмена файлами между разными пользователями, и снова мне нужно иметь возможность проверить, доступны ли эти файлы, когда мое приложение выходит на передний план. При использовании NSMetadataQuery и поиске в NSMetadataQueryUbiquitousDocumentsScope общие документы не отображаются.
Любые предложения
Лучший
Реза


person reza23    schedule 06.12.2017    source источник
comment
Известно ли вам имя файла, который вы ищете?   -  person Rakshith Nandish    schedule 07.12.2017
comment
Да знаю filePath и, следовательно, имя файла   -  person reza23    schedule 07.12.2017
comment
Отлично, публикую ответ через некоторое время. Дайте мне знать, если это поможет   -  person Rakshith Nandish    schedule 08.12.2017


Ответы (1)


Попробуй это:

let DOCUMENTS_DIRECTORY = "Documents"
if let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil)?.URLByAppendingPathComponent(DOCUMENTS_DIRECTORY)?.URLByAppendingPathComponent(fileName) {
    if let pathComponent = iCloudDocumentsURL.path {
        if (NSFileManager.defaultManager().fileExistsAtPath(pathComponent, isDirectory: nil)) {
        }
    }
}

Это проверяет файл в общедоступном каталоге документов.

person Rakshith Nandish    schedule 08.12.2017
comment
спасибо, поэтому можно использовать вызовы Filemanager для запроса содержимого контейнера iCloud. - person reza23; 11.12.2017
comment
Да, опубликуйте окончательный ответ здесь. - person Rakshith Nandish; 11.12.2017