Разрешение пользователю редактировать / просматривать существующие документы, когда iCloud становится недоступным - PullRequest
3 голосов
/ 29 января 2012

Я читал Apple Docs, прочитал пару онлайн-уроков и даже смотрел лекции CS193p на iCloud, но есть еще одна вещь, которая мне не ясна:

Возьмите случай, когда у вас есть приложение, которое синхронизирует документы с iCloud. Как вы разрешаете пользователю по-прежнему просматривать / редактировать существующие документы и создавать новые документы, когда он / она не может подключиться к службе iCloud (режим полета, сеть недоступна и т. Д ...)

Например. Приложение напоминания в iOS5 позволяет пользователю просматривать / редактировать существующие документы, которые находятся в iCloud, даже если вы находитесь в режиме полета. Затем изменения распространяются в следующий раз, когда будет доступна услуга iCloud.

Это кажется мне действительно странным. Как заполнить список напоминаний, если в запросе метаданных не указан допустимый URL-адрес для вездесущего контейнера? т.е., вызов URLForUbiquityContainerIdentifier: вернет ноль, поскольку iCloud недоступен. Тогда создание запроса метаданных невозможно, потому что вы не можете предоставить ему URL для запроса. Следовательно, вы не можете заполнять список документов для просмотра и редактирования пользователем в автономном режиме.

Любая помощь или понимание того, как это делается, очень ценится!

==================================== UPDATE ======= =============================

Хорошо - я наткнулся на эту тему: здесь

В основном речь идет о том, как файлы хранятся в файловой системе при использовании iCloud. Из того, что я собираю при создании файла в iCloud, он в основном хранится в специальном расширенном контейнере локального хранилища, который создается при первом вызове URLForUbiquityContainerIdentifier:. Этот специальный каталог управляется iCloud deamon. Помимо хранения в этом специальном каталоге, документ также загружается в облако для использования другими приложениями.

Теперь - при условии, что мое предположение выше верно, вопрос: Если iCloud внезапно недоступен, как вы получаете доступ к файлам, хранящимся в локальном демоне?

1 Ответ

1 голос
/ 29 января 2012

Ответ на этот вопрос связан с этим другим вопросом. Вам необходимо запросить файлы, которые вы хотите изменить, из iCloud, чтобы они загружались в локальный UbiquityContainer, который доступен в автономном режиме. Смотрите этот вопрос Ответ

URLForUbiquityContainerIdentifier: возвращает ноль, если доступ к сети недоступен?

В общем, метод URLForUbiquityContainerIdentifier: не возвращает ноль в автономном режиме, только когда iCloud действительно недоступен.

...