Ручная подготовка для Xamarin.iOSManual provisioning for Xamarin.iOS

Установив Xamarin.iOS для разработки приложений для iOS можно приступать к подготовке устройства iOS. Это руководство описывает, как использовать ручную подготовку для настройки сертификатов и профилей разработки.Once Xamarin.iOS has been successfully installed, the next step in iOS development is to provision your iOS device. This guide explores using manual provisioning to set up development certificates and profiles.

Примечание

Инструкции на этой странице предназначены для разработчиков с платным доступом к программе для разработчиков Apple.The instructions on this page are relevant for developers who have paid access to the Apple Developer Program. Если у вас бесплатная учетная запись, обратитесь к руководству Бесплатная подготовка для получения дополнительных сведений о тестировании на устройствах.If you have a free account, please take a look at the Free provisioning guide for more information about on-device testing.

Создание удостоверения подписыванияCreating a signing identity

Первым шагом в настройке устройства для разработки является создание удостоверения подписывания.The first step in setting up a development device is to create a signing identity. Удостоверение подписывания состоит из двух компонентов:A signing identity consists of two things:

  • сертификата разработки;A Development Certificate
  • закрытого ключа.A private key

Сертификаты разработки и связанные ключи критически важны для разработчика iOS: они являются его удостоверением в Apple и связывают его с определенным устройством и профилем разработки. Они действуют подобно цифровой подписи, добавляемой к приложению.Development certificates and associated keys are critical for an iOS developer: they establish your identity with Apple and associate you with a given device and profile for development, akin to putting your digital signature on your applications. Apple проверяет сертификаты для управления доступом к устройствам, на которых разрешено развертывание.Apple checks for certificates to control access to the devices you are allowed to deploy.

Командами разработчиков, сертификатами и профилями можно управлять в разделе Сертификаты, идентификаторы и профили (требуется вход в систему) в Центре пользователей Apple.Development teams, certificates, and profiles can be managed by accessing the Certificates, Identifiers & Profiles (login required) section of Apple's Member Center. Apple требует наличия удостоверения подписывания для создания кода для устройства или симулятора.Apple requires you to have a signing identity to build your code for device or simulator.

Важно!

Важно отметить, что одновременно можно иметь только два сертификата разработки iOS.It is important to note that you can only have two iOS Development certificates at any one time. Чтобы создать еще один сертификат, необходимо отозвать один из имеющихся.If you need to create any more, you will need to revoke an existing one. Компьютер с отозванным сертификатом не сможет подписать приложение.Any machine using a revoked certificate will not be able to sign their app.

Чтобы создать удостоверение подписывания, выполните указанные ниже действия:To Generate a signing identity, do the following:

  1. Войдите в раздел Certificates, Identifiers and Profiles (Сертификаты, идентификаторы и профили) на портале разработчика и выберите в столбце iOS Apps (Приложения iOS) раздел Certificates (Сертификаты).Login to the Certificates, Identifiers, and Profiles section of the Developer Portal and select the Certificates section from the iOS Apps column. Чтобы создать сертификат, нажмите кнопку +:Then, hit the + to create a new certificate:

  2. В качестве типа сертификата выберите iOS App Development (Разработка приложений для iOS), после чего нажмите кнопку Continue (Продолжить).Select the iOS App Development option for the certificate type and click Continue. В зависимости от прав вашей учетной записи этот экран может выглядеть иначе:This screen may look different depending on your account privileges:

  3. Отправьте запрос на подписание сертификата, который необходим для создания сертификата вручную.Request a Certificate Signing Request, which will be uploaded to generate a certificate manually. Для этого запустите на компьютере Mac программу Keychain Access (Доступ к связке ключей).To do this, launch Keychain Access on a Mac. В главном меню выберите пункт Certificate Assistant (Помощник по сертификатам), а затем пункт Request a Certificate from a Certificate Authority... (Запросить сертификат из центра сертификации...), как показано ниже:Navigate to the main menu, and select Certificate Assistant and Request a Certificate from a Certificate Authority..., as illustrated below:

  4. Введите сведения о себе и выберите вариант Save to disk (Сохранить на диск):Fill in your information, and select the option to Save to disk:

  5. Сохраните запрос подписи сертификата в месте, где его легко будет найти:Save the CSR at a location where it can be easily found:

  6. Вернитесь на портал подготовки, добавьте на него сертификат и отправьте его:Return to the Provisioning Portal, upload the Certificate to the portal, and submit:

    Если у вас нет прав администратора, сертификат должен быть утвержден администратором или агентом рабочей группы.If you do not have admin privileges, the Certificate must be approved by an admin or team agent.

  7. После утверждения сертификата скачайте его с портала подготовки:Once the Certificate is approved, download it from the Provisioning Portal:

  8. Дважды щелкните скачанный сертификат, чтобы запустить программу Keychain Access, и откройте панель My Certificates (Мои сертификаты), в которой показан новый сертификат и связанный закрытый ключ:Double-click on the downloaded Certificate to launch Keychain Access and open the My Certificates panel, showing the new certificate(s), and associated private key:

Основные сведения о парах ключей сертификатовUnderstanding certificate key pairs

Профиль разработчика содержит сертификаты, связанные с ними ключи, а также профили подготовки, связанные с учетной записью.The Developer Profile contains certificates, their associated keys, and any provisioning profiles associated with the account. По сути, существуют две версии профиля разработчика: одна на портале разработчика, а другая на локальном компьютере Mac.There are actually two versions of a Developer Profile — one is on the Developer Portal, and the other lives on a local Mac. Различие между ними — в типе ключей, которые они содержат: профиль на портале вмещает все открытые ключи, связанные с вашими сертификатами, а копия на локальном компьютере Mac содержит все закрытые ключи.The difference between the two is the type of keys they contain: the Profile on the Portal houses all the public keys associated with your certificates, while the copy on your local Mac contains all the private keys. Чтобы сертификаты были действительны, пары ключей должны совпадать.For the certificates to be valid, the key pairs must match. Храните резервную копию профиля разработчика на локальном компьютере Mac, так как в случае утери закрытых ключей все сертификаты и профили подготовки потребуется создать заново.Keep a backup of the Developer Profile on the local Mac, because if the private keys are lost, all the certificates and provisioning profiles will need to be regenerated.

Предупреждение

Потеря сертификата и связанных с ним ключей может надолго остановить работу, так как потребуется отозвать существующие сертификаты и повторно подготовить все связанные устройства, включая зарегистрированные для специального развертывания.Losing the certificate and associated keys can be incredibly disruptive, as it will require revoking existing certificates and re-provisioning any associated devices, including those registered for ad-hoc deployment. Успешно настроив сертификаты разработки, экспортируйте резервную копию и сохраните ее в надежном месте.After successfully setting up Development Certificates, export a backup copy and store them in a safe place. Дополнительные сведения о выполнении этой задачи см. в разделе "Exporting and Importing Certificates and Profiles" (Экспорт и импорт сертификатов и профилей) руководства Maintaining Certificates (Обслуживание сертификатов) в документации Apple.For more information on how to do this, refer to the Exporting and Importing Certificates and Profiles section of the Maintaining Certificates guide in Apple's docs.

Подготовка устройства iOS к разработкеProvisioning an iOS Device for development

Создав удостоверение в Apple и получив сертификат разработки, необходимо настроить профиль подготовки и требуемые сущности, чтобы получить возможность развертывать приложение на устройстве Apple.Now that you’ve established your identity with Apple and have a development certificate, you must set up a provisioning profile and the required entities so it is possible to deploy an app to an Apple device. На устройстве должна быть версия iOS, поддерживаемая Xcode. Может потребоваться обновить устройство, среду Xcode или и то, и другое.The device must be running a version of iOS that is supported by Xcode — it may be necessary to update the device, Xcode or both.

Добавление устройстваAdd a device

При создании профиля подготовки для разработки необходимо указать, на каких устройствах может выполняться приложение.When creating a provisioning profile for development, we must state which devices can run the application. Для этого на портал разработки можно добавить до 100 устройств за календарный год, а затем выбрать из их числа те устройства, которые следует добавить в определенный профиль подготовки.To enable this, up to 100 devices per calendar year can be added to our Developer Portal, and from here we can select the devices to be added to a particular provisioning profile. Чтобы добавить устройство на портал разработки, на компьютере Mac сделайте следующее.Follow the steps below on your Mac to add a device to the Developer Portal

  1. Запустите Xcode.Start Xcode.
  2. Подключите подготавливаемое устройство к компьютеру Mac с помощью USB-кабеля из комплекта поставки.Connect the device to be provisioned to the Mac with its supplied USB cable.
  3. В меню Window (Окно) выберите пункт Devices (Устройства):From the Windows menu select Devices:

  1. В списке DEVICES (Устройства) в левой части окна Devices выберите нужно устройство iOS.Select the desired iOS device from the DEVICES list on the left side of the Devices Window.
  2. Выделите строку в поле Identifier (Идентификатор) и скопируйте ее в буфер обмена:Highlight the Identifier string and copy it to the clipboard:

  1. В браузере Safari перейдите в Apple Developer Center и выполните вход.In Safari, navigate to the Apple Developer Center and log in.
  2. Щелкните ссылку Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили):Click the Certificates, Identifiers & Profiles link:

  1. Щелкните ссылку Devices (Устройства):Click on the Devices link:

  1. Нажмите кнопку +:Click the + button:

  1. Укажите имя нового устройства и вставьте идентификатор устройства, скопированный ранее, в поле UUID:Provide a name for the new device and paste the device Identifier that we copied above into the UUID field:

  1. Нажмите кнопку Continue (Продолжить).Click the Continue button.
  2. Наконец, проверьте сведения и нажмите кнопку Register (Зарегистрировать):Finally, review the information and click the Register button:

Повторите описанные выше действия для всех устройств iOS, которые будут использоваться для тестирования или отладки приложения Xamarin.iOS.Repeat the above steps for any iOS device that will be used to test or debug a Xamarin.iOS application.

После добавления устройства на портал разработчика необходимо создать профиль подготовки и добавить в него устройство.After adding the device to the developer portal, it is necessary to create a provisioning profile and add the device to it.

Создание профиля подготовки для разработкиCreating a development provisioning profile

Так же как и сертификат разработки, профили подготовки можно создать вручную в разделе Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили) центра Apple Members Center.As with the Development Certificate, Provisioning Profiles can be manually created through the Certificates, Identifiers & Profiles section of Apple's Members Center.

Перед созданием профиля подготовки необходимо создать идентификатор приложения.Before creating a provisioning profile, an App ID must be made. Идентификатор приложения — это строка в обратном стиле DNS, однозначно определяющая приложение.An App ID is a reverse-DNS style string that uniquely identifies an application. Ниже показано, как создать шаблон идентификатора приложения, который можно использовать для создания и установки большинства приложений.The steps below will demonstrate how to create a Wildcard App ID, which can be used to build and install most applications. Явный идентификатор приложения позволяет устанавливать только одно приложение (с соответствующим идентификатором пакета) и, как правило, применяется для определенных функций iOS, таких как Apple Pay и HealthKit.Explicit App IDs only allow the installation of one application (with the matching bundle ID), and are generally used for certain iOS features such as Apple Pay and HealthKit. Сведения о создании явных идентификаторов приложений см. в руководстве Работа с возможностями.For information on creating Explicit App IDs, refer to the Working with Capabilities guide.

Идентификатор приложенияApp ID

  1. На портале разработчика перейдите в раздел Certificates, Identifiers and Profiles (Сертификаты, идентификаторы и профили) в Apple Developer Center.In the developer portal browse to the Certificate, Identifiers and Profiles section in the Apple Developer Center. В разделе Identifiers (Идентификаторы) выберите элемент App IDs (ИД приложений).Select App IDs under Identifiers.

  2. Нажмите кнопку + и укажите имя:Click the + button and provide a Name:

  3. Префикс приложения должен быть предварительно задан.The App prefix should be preset. Выберите вариант Wildcard App ID (Шаблон ИД приложения) в качестве суффикса приложения.Select Wildcard App ID for the app suffix. Введите идентификатор пакета в формате com.[DomainName].*:Enter a Bundle ID in the format com.[DomainName].*:

  1. Нажмите кнопку Continue (Продолжить) и следуйте инструкциям на экране, чтобы создать идентификатор приложения.Click the Continue button and following the on screen instructions to create the new App ID.

Профиль подготовкиProvisioning profile

После создания идентификатора приложения можно создать профиль подготовки.Once the App ID has been created, the Provisioning Profile can be produced. Профиль подготовки содержит сведения о том, с каким приложением (или приложениями в случае с шаблоном идентификатора приложения) связан этот профиль, кто может его использовать (в зависимости от добавленных сертификатов разработчика) и на каких устройствах можно установить приложение.This Provisioning Profile contains information on what app (or apps, if it's a wildcard app ID) this profile relates to, who can use the profile (depending on what developer certificates are added), and what devices can install the app.

Чтобы вручную создать профиль подготовки для разработки, выполните указанные ниже действия:To manually create a provisioning profile for development, do this:

  1. В браузере Safari перейдите в Apple Developers Member Center и в разделе Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили) выберите элемент Provisioning Profiles (Профили подготовки).Use Safari to browse to the Apple Developers Member Center, and under the section Certificates, Identifiers & Profiles select Provisioning Profiles.

  2. Чтобы создать профиль, в правом верхнем углу нажмите кнопку +.Click the + button, in the top right corner to create a new profile.

  3. В разделе Development (Разработка) установите переключатель в положение iOS App Development (Разработка приложений для iOS) и нажмите кнопку Continue (Продолжить).From the Development section, select the radio button next to iOS App Development, and press Continue:

  4. В раскрывающемся меню выберите нужный идентификатор приложения.From the dropdown menu, select the App ID that to use:

  5. Выберите сертификаты, которые нужно включить в профиль подготовки, и нажмите кнопку Continue (Продолжить):Select the Certificate(s) to include in the provisioning profile, and press Continue:

  6. Выберите все устройства, на которых будет устанавливаться приложение.Select all the devices that the app will be installed on.

  7. Укажите имя, по которому можно определить профиль подготовки, и нажмите кнопку Continue (Продолжить), чтобы создать профиль:Provide the Provisioning Profile with an identifiable a name, and press Continue to create the profile:

  8. Чтобы скачать профиль подготовки на компьютер Mac, нажмите кнопку Download (Скачать):Press Download to download the provisioning profile onto a Mac:

  9. Дважды щелкните файл, чтобы установить профиль подготовки в Xcode.Double-click on the file to install the provisioning profile in Xcode. Имейте в виду, что в Xcode может не быть никаких визуальных указаний на то, что профиль установился.Note that Xcode might not show any visual clues that it has installed the profile except for opening. Проверить это можно путем перехода в раздел Xcode > Preferences > Accounts (Xcode > Настройки > Учетные записи).This can be verified by browsing to Xcode > Preferences > Accounts. Выберите свой идентификатор Apple и щелкните View Details... (Показать подробности...). Новый профиль подготовки должен присутствовать в списке, как показано ниже:Select your Apple ID and click View Details.... Your new provisioning profile should be listed, as illustrated below:

После успешного создания профиля подготовки может потребоваться обновить Xcode, чтобы все сертификаты разработки стали доступны для Visual Studio для Mac и Visual Studio.After the provisioning profile has been successfully created it may be necessary to refresh Xcode so that all the development certificates are available to Visual Studio for Mac and Visual Studio.

Скачивание профилей и сертификатов в XcodeDownloading profiles and certificates in Xcode

Сертификаты и профили подготовки, созданные на портале разработчика Apple, могут не отображаться в Xcode автоматически.Certificates and provisioning profiles that have been created in the Apple Developer Portal, may not automatically appear in Xcode. Поэтому их может потребоваться скачать, чтобы они стали доступны в Visual Studio для Mac и Visual Studio.Therefore, it may be necessary to download them so they that they can be accessed by Visual Studio for Mac and Visual Studio. Чтобы обновить и скачать сертификаты, созданные на портале разработчика Apple, выполните указанные ниже действия:To update and download any certificates created in the Apple Developer portal, do the following:

  1. Выйдите из Visual Studio для Mac или Visual Studio.Quit Visual Studio for Mac or Visual Studio.

  2. Запустите Xcode.Start Xcode.

  3. Выберите Xcode Menu > Preferences... (Меню Xcode > Предпочтения...).Choose Xcode Menu > Preferences...

  4. Перейдите на вкладку Accounts (Учетные записи).Click the Accounts tab.

  5. Выберите команду и нажмите кнопку Скачать профили вручную: Select a team and click the Download Manual Profiles button:

  6. Выйдите из Xcode.Quit Xcode.

  7. Запустите Visual Studio для Mac или Visual Studio.Start Visual Studio for Mac or Visual Studio.

Новые сертификаты или профили подготовки станут доступны для использования в Visual Studio для Mac или Visual Studio.The new certificates or provisioning profiles will be available in Visual Studio for Mac or Visual Studio and ready to use.

Важно!

Чтобы сертификаты или профили, созданные или измененные в Xcode, стали доступны в среде Visual Studio для Mac, ее нужно закрыть и перезапустить.It may be necessary to stop and restart Visual Studio for Mac before it will see any new or modified certificates or profiles updated by Xcode.

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

Apple предоставляет ряд специальных служб приложений, также называемых возможностями, которые можно активировать для приложений Xamarin.iOS.Apple provides a selection of special Application Services, also called capabilities, that can be activated for a Xamarin.iOS application. Эти службы необходимо настроить как на портале подготовки iOS при создании идентификатора приложения, так и в файле Entitlements.plist, входящем в проект приложения Xamarin.iOS.These Application Services must be configured on both the iOS Provisioning Portal when the App ID is created and in the Entitlements.plist file that is part of the Xamarin.iOS application's project. Сведения о добавлении служб приложений к приложению см. в руководствах Работа с возможностями и Работа с назначениями.For information on adding Application Services to your app, refer to the Introduction to Capabilities guide and the Working with Entitlements guide.

  • Создайте идентификатор приложения с требуемыми службами приложений.Create an App ID with the required app services.
  • Создайте профиль подготовки, содержащий этот идентификатор приложения.Create a new provisioning profile that contains this App ID.
  • Задайте назначения в проекте Xamarin.iOSSet Entitlements in the Xamarin.iOS Project

Развертывание на устройствеDeploying to a device

На этом этапе подготовка должна быть завершена, а приложение готово к развертыванию на устройстве.At this point provisioning should be complete, and the app is ready to be deployed to the device. Выполните указанные ниже действия:To do this, follow the steps below:

Важно!

Прежде чем начать, убедитесь, что в файле Info.plist выбран параметр Manual Provisioning (Подготовка вручную).Before you begin, make sure to select Manual Provisioning in the Info.plist.

  1. Подключите устройство к компьютеру Mac.Plug the device in to a Mac.
  2. В файле Info.plist проекта проверьте, соответствует ли идентификатор пакета идентификатору приложения (если только не используется шаблон идентификатора приложения):In the project's Info.plist, make sure the Bundle Identifier matches the App ID (unless the App ID is a wildcard):

  1. Щелкните проект правой кнопкой мыши, откройте диалоговое окно "Параметры проекта" и перейдите на страницу Сборка > Подписывание пакета iOS.Right-click on the project to view the Project Options dialog and browse to Build > iOS Bundle Signing. В раскрывающихся списках Удостоверение подписывания и Профиль подготовки убедитесь в том, что в Visual Studio для Mac доступны соответствующие профили, а затем выберите определенное удостоверение и профиль:From the drop-down list next to both the Signing Identity and Provisioning Profile, verify that Visual Studio for Mac can see the correct profiles, and select a specific identity & profile:

Если выбрано значение Автоматически, среда Visual Studio для Mac выберет удостоверение и профиль в соответствии с идентификатором пакета, заданным в шаге 2.If this is set to Automatic, Visual Studio for Mac will select the identity and profile based on the Bundle ID that was set in step #2.

  1. В качестве конфигурации сборки должно быть выбрано значение iPhone / iPad, а не симулятор.Make sure to set the build configuration to iPhone / iPad, rather the simulator.
  2. В Visual Studio для Mac нажмите кнопку Запуск. Приложение должно запуститься на устройстве.Click Run in Visual Studio for Mac and view the app running on the device.

СводкаSummary

В этом руководстве были рассмотрены действия по настройке среды разработки для Xamarin.iOS.This guide covered the steps required to setup the development environment for Xamarin.iOS. Вы узнали, как код приложения подписывается с использованием сведений о разработчике, его команде и устройствах, на которых может выполняться приложение, а также уникального идентификатора приложения.It explored how an application is code signed with information about the developer, their team, the devices that an app can run on, and individual app id.