Подписывание кода для iOS

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

Важно!

Использование Xcode для цифрового подписывания упакованных мобильных приложений для iOS не поддерживается. Следуйте приведенным ниже инструкциям, чтобы правильно подписать упакованные пакеты мобильных приложений для iOS.

Предварительные условия

Для начала вам потребуется предоставить следующую информацию:

  • ИД приложения
  • UDID устройства (только для целей тестирования и разработки)

Вам также понадобится устройство с macOS для подписывания кода для iOS.

Подготовьте свой компьютер Mac

Настройте свой компьютер Mac со следующей конфигурацией.

  1. Установите Xcode. Дополнительные сведения: Xcode
  2. Установите PowerShell для macOS. Дополнительная информация: Установка PowerShell на macOS
  3. Зарегистрируйтесь в Программа для разработчиков Apple
  4. Чтобы распространять свои приложения внутри организации, вам необходимо зарегистрироваться в программе для корпоративных разработчиков Apple.

Создание идентификатора приложения

  1. Войдите в свою учетную запись разработчика, перейдя в https://developer.apple.com и выбрав вкладку Учетная запись.

    Вкладка Учетная запись.

  2. Перейдите в Сертификаты, идентификаторы и профили > Идентификаторы.

  3. Выберите +, чтобы создать новый идентификатор.

    Создайте новый идентификатор.

  4. Выберите Идентификаторы приложений, а затем выберите Продолжить.

    Регистрация нового идентификатора.

  5. Выберите тип как Приложение, а затем выберите Продолжить.

  6. Зарегистрируйте идентификатор приложения:

    Зарегистрируйте идентификатор приложения.

    1. Описание — название вашего приложения.
    2. Идентификатор пакета — выберите Явный идентификатор пакета.
    3. Введите идентификатор пакета, который вы использовали во время создания проекта упаковки. Дополнительная информация: Идентификатор пакета
    4. Включите следующие возможности:
      • Связанные домены
      • iCloud
      • Чтение тегов NFC
      • Push-уведомления
    5. Выберите Продолжить.
  7. Проверьте и зарегистрируйте идентификатор приложения.

Создайте сертификат распространения

Чтобы создать сертификат распространения, сначала создайте новый запрос на подпись сертификата.

Создайте запрос на подпись сертификата (CSR)

  1. На компьютере Mac перейдите в папку Приложения > Служебные программы > откройте Доступ к цепочке ключей.

  2. Выберите Доступ к цепочке ключей > Помощник по сертификатам > Запрос сертификата в центре сертификации.

    Запросите сертификат в ЦС.

  3. Заполните Информация о сертификате, как описано ниже, а затем выберите Продолжить.

    1. В поле Адрес электронной почты пользователя введите свой адрес электронной почты Apple ID для идентификации с этим сертификатом.
    2. В поле Общее имя введите свое имя.
    3. В группе Запрос выберите Сохранено на диск.
    4. Сохраните файл на свой Mac.

Создайте сертификат распространения

  1. Войдите в свою учетную запись разработчика в https://developer.apple.com, выбрав вкладку Учетная запись.

  2. Перейдите в Сертификаты, идентификаторы и профили > Сертификаты.

    1. Выберите +, чтобы создать новый сертификат.

    2. Выберите App Store и Ad Hoc > Продолжить.

      Сертификаты, идентификаторы и профили

      Примечание

      Если у вас есть учетная запись корпоративного разработчика, у вас будет возможность создать сертификат корпоративного распространения.

  3. Отправьте файл запроса на подписание сертификата (CSR), созданный на предыдущих шагах.

    Отправьте сертификат.

  4. Выберите Продолжить и загрузите сертификат на свой Mac.

  5. Дважды щелкните загруженный файл CER для установки в Доступ к цепочке ключей.

  6. Запишите Имя сертификата (обычно Распространение iPhone: Название (идентификатор команды)). Это значение является удостоверением подписи кода, которое необходимо предоставить для подписи.

Добавьте все устройства, на которых необходимо установить IPA

Примечание

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

  1. Войдите в свою учетную запись разработчика в https://developer.apple.com, выбрав вкладку Учетная запись.

  2. Перейдите в Сертификаты, идентификаторы и профили > Устройства.

  3. Выберите + для регистрации одного или нескольких устройств.

  4. Введите Имя устройства и Идентификатор устройства (UDID).

    Зарегистрируйте устройство.

  5. Выберите Сохранить.

    Совет

    Вы также можете зарегистрировать несколько устройств, отправив список UDID.

Создание профиля подготовки iOS

  1. Войдите в свою учетную запись разработчика, перейдя в https://developer.apple.com и выбрав вкладку Учетная запись.

  2. Перейдите в Сертификаты, идентификаторы и профили > Профили.

  3. Выберите +, чтобы создать новый профиль.

  4. Выберите Ad Hoc > Продолжить.

    Ad Hoc.

    Примечание

    Для производственного тестирования и разработки используйте метод распространения App Store.

  5. Выберите идентификатор приложения, который вы создали ранее, а затем выберите Продолжить.

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

  6. Выберите сертификат, который вы создали ранее, а затем выберите Продолжить.

    Выберите сертификат.

  7. Выберите все тестовые устройства, на которые вы хотите установить приложение, а затем выберите Продолжить.

    Добавьте устройства.

  8. Проверьте и назовите профиль подготовки. Запишите имя профиля подготовки.

  9. Создайте и загрузите профиль на свой Mac.

  10. Дважды щелкните, чтобы открыть загруженный файл (*.mobileprovision), чтобы зарегистрировать его в Xcode.

Подписывание архива iOS

  1. Скачайте и разархивируйте файл iOS-Archive.zip из центра приложений. При этом создается папка с именем Идентификатор пакета. В приведенном ниже примере идентификатором пакета является com.single.wrap.

  2. При подписании с помощью корпоративного сертификата откройте файл Distribution-exportOptions.plist с помощью Xcode и измените значение для поля метод внутри файла на корпоративный.

Примечание

Корпоративное подписывание при подписывании с помощью Key Vault не поддерживается.

  1. Откройте терминал и измените каталог для разархивированной папки.

  2. Введите pwsh для запуска PowerShell в терминале.

  3. Выполните ./SignAndGenerateIPA.ps1 со значениями параметров CodeSigningIdentity и ProvisioningProfilePath.

    Примечание

    CodeSigningIdentity — это имя сертификата, созданного на веб-сайте для разработчиков Apple. Чтобы найти значение для CodeSigningIdentity, щелкните правой кнопкой мыши файл .mobileprovision (это профиль подготовки), затем выберите Подробности. Прокрутите вниз и выберите Предварительный просмотр. Ваше значение CodeSigningIdentity хранится в поле Name в разделе Certificates в файле .mobileprovision.

    Совет

    ProvisioningProfilePath — это путь к файлу профиля подготовки, который вы загрузили с веб-сайта для разработчиков Apple на предыдущем шаге Создание профиля подготовки iOS. Например, он может находиться в папке /Users/username/Downloads/MyProvisioningProfile.mobileprovision на вашем компьютере.

    Запустите сценарий PowerShell.

  4. Когда сценарий завершается, создается файл .ipa, например com.single.wrap.ipa.

    • Если команда ./SignAndGenerateIPA.ps1 завершается сбоем, удалите разархивированную папку и файлы, поскольку они могут быть повреждены. Разархивируйте iOS-Archive.zip еще раз, а потом попробуйте подписать еще раз.

    Пакет IPA.

  5. Установите файл .ipa на зарегистрированные устройства, используя приложение Finder. Теперь вы также можете разместить его в службе распространения, такой как Центр приложений. Для распространения с помощью Microsoft Intune см. статью Добавление бизнес-приложения iOS/iPadOS в Microsoft Intune. Чтобы узнать, как предоставить приложению доступ к службе защиты приложений Intune, см. Предоставить вашему приложению доступ к службе защиты приложений Intune.

См. также