2014-02-06 3 views
0

Поскольку URLForUbiquityContainerIdentifier: возвращает не-ниль даже в режиме полета, пока iCloud остается включенным, как я могу определить, доступна ли сеть и обрабатывается ли она?Открыть документ iCloud, если сеть недоступна

Если я слепо открою документ, содержимое которого не было кэшировано локально (я вижу его, потому что его метаданные есть), и сеть недоступна, процесс загрузки никогда не будет завершен.

Благодарим за помощь.

ответ

0

Есть атрибуты для NSMetadataItem s, которые сообщают вам, загружен ли файл. Проверьте атрибут NSMetadataUbiquitousItemDownloadingStatusKey. Вы можете сравнить это с строкой NSMetadataUbiquitousItemDownloadingStatusCurrent на iOS 7, чтобы определить, загружен ли файл уже.

В проекте this содержится больше кода проекта Ensembles, который может помочь вам с необходимыми атрибутами запроса метаданных. (Например, атрибуты для более старых версий iOS немного отличаются.)

Раскрытие информации: Я разрабатываю проект Ensembles.

+0

Но если вы проверили 'NSMetadataUbiquitousItemDownloadingStatusKey' перед вызовом' openWithCompletionHandler: ', вам также необходимо проверить, доступно ли сетевое подключение. Хорошая новость: 'openWithCompletionHandler:' ДОЛЖНЫ завершаться, вызывая 'completeHandler', с' success = NO', не слишком долго после. –

Смежные вопросы