2015-02-23 5 views
0

У меня есть базовое приложение iOS 8, в котором перечислены документы пользователя в контейнере iCloud приложения, а также в iCloud Drive.Документы iCloud Drive, не включенные в результаты NSMetadataQuery

Моя проблема заключается в том, что документы, которые находятся непосредственно в iCloud Drive (Finder → Go → iCloud Drive), не включены в качестве результатов запроса метаданных. Запрос возвращает результаты только в папке Documents контейнера приложения iCloud.

Я инициализировать запрос, как это:

self.query = [NSMetadataQuery new]; 
self.query.searchScopes = @[NSMetadataQueryUbiquitousDataScope, 
    NSMetadataQueryUbiquitousDocumentsScope, 
    NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope]; // iCloud Drive 

В Entitlements выглядеть следующим образом:

Еще более странно: несколько документов в ICloud драйва появляются иногда, но если я перееду их из iCloud Drive и обратно, они больше не показываются.

ответ

2

Обдумал это. Документы iCloud Drive не находятся в контейнере приложения и поэтому не включены в результаты запроса метаданных, потому что приложение не имеет доступа к внешним файлам.

После того, как документ был открыт с помощью сборщика документов, приложение получит доступ к этому документу, и оно с этого момента станет частью результатов запроса метаданных (пока пользователь не выведет его из iCloud Drive).

Еще одна вещь, которую я наблюдал: если пользователь перемещает документ из iCloud Drive на Mac, запрос метаданных не будет получать обновление для iOS. Попытка открыть документ на iOS просто приводит к ошибке (файл не найден).

0

Я также хочу получить файлы и каталоги, которые находятся непосредственно на диске iCloud. Я нашел APP с именем «Документ 5». Это мой вопрос: iCloud Drive list directories and files through NSMetadataQuery.

+0

Я понимаю, что у вас недостаточно отзывов, чтобы отбросить комментарий, но ответы не являются средним, чтобы задавать вопросы. –