Подготовка устройства для Xamarin.iOS

При разработке приложения Xamarin.iOS важно проверить его не только в симуляторе, но и развернув на физическом устройстве. При работе на физическом устройстве можно выявить ошибки и проблемы с производительностью, вызванные ограничениями оборудования, такими как память или подключение к сети. Чтобы тестировать программы на физическом устройстве, его необходимо подготовить, а также уведомить Apple о том, что устройство будет использоваться для тестирования.

Выделенные разделы на приведенном ниже рисунке содержат шаги, необходимые для подготовки iOS к тестированию:

The highlighted sections in this image show the steps required to get set up for iOS provisioning

Следующим шагом после этого является распространение приложения. Дополнительные сведения о развертывании см. в руководствах Распространение приложений.

Перед развертыванием приложения на устройстве необходимо иметь активную подписку в программе Apple для разработчиков или использовать бесплатную подготовку. Компания Apple предлагает два варианта программы:

  • Программа Apple для разработчиков — независимо от того, являетесь ли вы индивидуальным разработчиком или представляете организацию, программа для разработчиков Apple дает вам возможность разрабатывать, тестировать и распространять приложения.
  • Программа Apple для корпоративных разработчиков — программа для корпоративных разработчиков подходит для организаций, которым требуется разрабатывать и распространять приложения только для собственных нужд. Участники корпоративной программы не имеют доступа в iTunes Connect, а их приложения не могут быть опубликованы в App Store.

Чтобы зарегистрироваться в любой из этих программ, зарегистрируйтесь на портале разработчиков Apple. Обратите внимание, что для регистрации в качестве разработчика Apple необходимо иметь Apple ID. В этом руководстве предполагается, что вы являетесь членом программы Apple для разработчиков.

В качестве альтернативы Apple предлагает бесплатную подготовку в Xcode 7, которая позволяет запускать одно приложение на одном устройстве без участия в программе Apple для разработчиков. При подготовке приложения таким способом существует ряд ограничений, со списком которых можно ознакомиться здесь.

Любое приложение, которое запускается на устройстве, должно содержать набор метаданных (или отпечатков), которые содержат сведения о приложении и разработчике. Apple использует этот отпечаток для гарантии того, что приложение не подменили при развертывании или запуске на устройстве пользователя. Это достигается благодаря требованию, чтобы разработчики приложения регистрировали свой Apple ID в качестве разработчика, чтобы приложение имело свой идентификатор, а также посредством требований предоставить сертификат и зарегистрировать устройство, на котором будет развернуто приложение.

При развертывании приложения на устройстве iOS на него также устанавливается профиль подготовки. Профиль подготовки необходим для проверки информации о том, что приложение было подписано во время сборки и криптографически подписано Apple. Проверка профиля подготовки и "отпечатка" определяет, может ли приложение быть развернуто на устройстве. Проверяются следующие параметры:

  • Кто (Сертификаты — приложение было подписано с закрытым ключом, который имеет соответствующий открытый ключ в профиле подготовки? Сертификат также связывает разработчика с командой разработчиков)
  • Что (Идентификатор конкретного приложения — соответствует ли набор идентификаторов пакета в файле Info.plist идентификатору приложения в профиле подготовки?)
  • Где (Устройства— содержится ли устройство в профиле подготовки?)

Эти шаги позволят убедиться, что все, что создано или использовалось во время разработки, включая приложения и устройства, можно отследить вплоть до учетной записи разработчика Apple.

Подготовка устройства

Существует два способа подготовки устройства iOS:

  • Автоматически (рекомендуется) — выберите схему Автоматическая подготовка в проекте, чтобы Visual Studio автоматически создавала и управляла вашими удостоверениями подписывания, идентификаторами приложений и профилями подготовки. Сведения об автоматическом управлении подготовкой см. в руководстве Автоматическая подготовка. Это рекомендуемый способ подготовки устройства iOS.

  • Вручную — удостоверения подписывания, идентификаторы приложений и профили подготовки можно создавать и управлять через портал разработчиков Apple, как описано в руководстве Подготовка вручную. Затем этими артефактами можно управлять, как описано в руководстве Управление учетной записью Apple.

Подготовка служб приложений

Apple предоставляет ряд специальных служб приложений, также называемых возможностями, которые можно активировать для приложений Xamarin.iOS. Эти службы необходимо настроить как на портале подготовки iOS при создании идентификатора приложения, так и в файле Entitlements.plist, входящем в проект приложения Xamarin.iOS. Сведения о добавлении служб приложений к приложению см. в руководствах Работа с возможностями и Работа с назначениями.

  • Создайте идентификатор приложения с требуемыми службами приложений.
  • Создайте профиль подготовки, содержащий этот идентификатор приложения.
  • Задайте назначения в проекте Xamarin.iOS