iCloud
iCloud позволяет людям получить доступ к содержанию, о котором они заботятся, независимо от которого устройства они в настоящее время используют. Когда Вы интегрируете iCloud в свое приложение, пользователи могут использовать различные экземпляры Вашего приложения на различных устройствах, чтобы просмотреть и отредактировать их персональное содержание, не выполняя явную синхронизацию.
Для обеспечения этого пользовательского опыта вероятно, что необходимо будет повторно рассмотреть пути, которыми Вы храните, получаете доступ и представляете информацию — особенно создаваемое пользователями содержание — в Вашем приложении. Чтобы изучить, как включить iCloud в Вашем приложении, см. Руководство по проектированию iCloud.
Фундаментальным аспектом пользовательского опыта iCloud является прозрачность: Идеально, пользователи не должны знать, где их содержание расположено, и им придется редко думать, о которой версии содержания они в настоящее время просматривают. Следующие инструкции могут помочь Вам дать пользователям опыт iCloud, который они ожидают.
При необходимости упростите для пользователей включать iCloud для своего приложения. На их устройствах на iOS пользователи регистрируют в их учетную запись iCloud в Настройках iCloud, и по большей части, они ожидают, что их приложения будут работать с iCloud автоматически. Но если Вы думаете, что пользователи могли бы хотеть выбрать, использовать ли iCloud с Вашим приложением, можно предоставить простую возможность, которую они могут установить, когда они открывают приложение впервые. В большинстве случаев эта опция должна обеспечить выбор между использованием iCloud со всем содержанием что пользовательский доступ в Вашем приложении или нисколько.
Уважайте пространство iCloud пользователя. Важно помнить, что iCloud является конечным ресурсом, за который платят пользователи. Необходимо использовать iCloud для того, чтобы хранить информацию, что пользователи создают и понимают и избегают использования его для хранения ресурсов приложений или содержания, которое можно регенерировать. Кроме того, обратите внимание на то, что, когда учетная запись iCloud пользователя активна, iCloud автоматически копирует содержание папки Documents Вашего приложения. Для избегания использования слишком большого количества пространства пользователя, лучше быть требовательным в отношении содержания, которое Вы помещаете в папку Documents.
Избегите просить, чтобы пользователи выбрали который документы сохранить в iCloud. Как правило, пользователи ожидают все содержание, о котором они заботятся собирающийся быть доступными через iCloud. Большинство пользователей не должно управлять хранением отдельных документов, таким образом, Вы не должны предполагать, что Ваше приложение должно поддерживать этот опыт. Для обеспечения хорошего пользовательского опыта Вы могли бы хотеть повторно спроектировать способ, которым Ваше приложение обрабатывает и представляет содержание так, чтобы можно было выполнить больше задач управления файлами для пользователя.
Определите который типы информации сохранить в iCloud. В дополнение к тому, чтобы хранить создаваемые пользователями документы и другое содержание, можно также сохранить мелкие суммы данных, такие как текущее состояние пользователя в приложении или их предпочтениях. Для хранения этого типа информации, Вы используете хранение значения ключа iCloud. Например, если люди используют Ваше приложение для чтения журнала, Вы могли бы использовать хранение значения ключа iCloud для хранения последней страницы, которую они просмотрели так, чтобы, когда они возобновляют эмиссию на различном устройстве, они могли продолжать читать из того, где они кончили.
Если Вы используете хранение значения ключа iCloud для хранения предпочтений, уверены, что предпочтения являются, что пользователи, вероятно, захотят примениться ко всем своим устройствам. Например, некоторые предпочтения более полезны в рабочей среде, чем они находятся в домашней среде. В некоторых случаях это может быть целесообразно хранить предпочтения на сервере Вашего приложения, вместо в учетной записи iCloud пользователя, так, чтобы предпочтения были доступны независимо от того, включен ли iCloud.
Удостоверьтесь, что Ваше приложение ведет себя обоснованно, когда iCloud недоступен. Например, если пользователи выходят из своей учетной записи iCloud, выключают использование iCloud для Вашего приложения или вводят Авиарежим, iCloud становится недоступным. В этих случаях пользователи выполнили действие, выключившее доступ к iCloud, таким образом, Ваше приложение не должно говорить им об этом. Однако может быть надлежащим показать пользователям, что изменения, они составляют завещание не быть видимыми на их других устройствах, пока они не восстанавливают доступ к iCloud.
Избегите давать пользователям опцию создать "локальный” документ. Независимо от того, поддерживаете ли Вы iCloud в своем приложении, Вы не должны призывать пользователей думать с точки зрения специфичной для устройства файловой системы. Вместо этого Вы хотите, чтобы пользователи фокусировались на распространяющейся доступности их содержания через iCloud.
Когда надлежащий, содержание обновления автоматически. Лучше, когда пользователи не должны принимать меры, чтобы гарантировать, что они получают доступ к самому актуальному содержанию в Вашем приложении. Однако необходимо сбалансировать этот опыт с уважения к пространству устройства пользователя и ограничениям пропускной способности. Если Ваши пользователи работают с очень большими документами, может быть надлежащим дать им контроль, загрузить ли обновление с iCloud. Если необходимо сделать это, разработать способ указать, что более свежая версия документа доступна в iCloud. Если загрузка берет больше, чем несколько секунд, когда пользователь принимает решение обновить документ, убедиться обеспечить тонкую обратную связь.
Предупредите пользователей о последствиях удаления документа. Когда пользователь удаляет документ в поддерживающем iCloud приложении, документ удален из учетной записи iCloud пользователя и всех других устройств. Является надлежащим вывести на экран предупреждение, описывающее этот результат и получить подтверждение перед выполнением удаления.
Скажите пользователям о конфликтах как можно скорее, но только при необходимости. Используя интерфейсы программирования iCloud, необходимо быть в состоянии разрешить большинство конфликтов между различными версиями документа, не вовлекая пользователя. В случаях, где это не возможно, удостоверьтесь, что Вы обнаруживаете конфликты как можно скорее так, чтобы можно было помочь пользователям избежать напрасно тратить время на неверной версии их содержания. Необходимо разработать незаметный способ показать пользователям, что существует конфликт; тогда, упростите для пользователей дифференцироваться между версиями и принимать решение.
Обязательно включайте содержание iCloud пользователя в поиски. Пользователи с учетными записями iCloud склонны думать о своем содержании, как являющемся универсально доступным, и они ожидают результаты поиска отразить эту перспективу. Если Ваше приложение позволяет людям искать свое содержание, удостоверьтесь, что Вы используете надлежащий APIs для расширения поиска до их учетных записей iCloud.