В iOS5 возможно ли определить, настроено ли у пользователя приложение для резервного копирования?

#iphone #objective-c #cocoa-touch #ipad #ios5

#iPhone #objective-c #cocoa-touch #iPad #ios5

Вопрос:

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

Можно ли определить, включено ли у пользователя резервное копирование для моего приложения?

И возможно ли перенаправить пользователя в Настройки-> iCloud-> Хранилище и резервное копирование-> Управление хранилищем-> iPad, где находится переключатель для отключения резервного копирования?

Ответ №1:

Здесь есть пример:

http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html#//apple_ref/doc/uid/TP40007072-CH5-SW17

Каждый пользователь с Apple ID получает бесплатную учетную запись iCloud, но некоторые пользователи могут не включать iCloud для данного устройства. Прежде чем пытаться использовать какие-либо другие интерфейсы iCloud, необходимо вызвать URLForUbiquityContainerIdentifier: метод, чтобы определить, включен ли iCloud. Этот метод возвращает действительный URL-адрес, когда включен iCloud (и доступен указанный каталог контейнеров), или нулевой, когда iCloud отключен.

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

Это означает, что оно должно вернуться nil , если каталог недоступен в iCloud.

В NSFileManager документе также есть это:

containerId […] Если вы укажете nil, этот метод вернет первый контейнер, указанный в праве com.apple.developer.ubiquity-container-identifiers.

Возвращаемое значение

URL-адрес, указывающий на указанный каталог контейнера, или nil, если контейнер не удалось найти или если хранилище iCloud недоступно для текущего пользователя или устройства.

Настройка права доступа может включать первый путь по умолчанию.

Комментарии:

1. Разве это просто не говорит мне, включен ли iCloud? У пользователя мог быть включен iCloud, но не включены резервные копии в iCloud.