Подписывание приложения

В различных ОС процедуры подписывания могут отличаться, но по сути они одинаковы. Приложения, распространяемые среди других пользователей, должны быть подписаны. Хотя ArcGIS AppStudio выполняет для вас процессы построения и подписывания, вы все равно должны получить файлы подписи от каждого производителя ОС и ввести их в AppStudio.

Подготовка нового приложения

Прежде чем подписать и выпустить своё приложение, ему надо дать идентификатор ArcGIS Client ID, перенаправленный URI и строку лицензирования. Хотя приложение можно построить и без Client ID или перенаправленного URI, они оба очень важны для приложений, использующих сервисы ArcGIS.

Для входа в любое приложение с учетной записью именованного пользователя требуется ArcGIS Client ID, также называемый AppID. Чтобы получить Client ID, перейдите в https://developers.arcgis.com, зайдите под учётной записью разработчика, щёлкните стрелку вниз возле Dashboard, и выберите Новое приложение. После регистрации вы получите Client ID, который сможете скопировать в своё приложение AppStudio. Если используется ArcGIS AppStudio, ID клиента может быть сгенерирован в Настройках > Лицензировании с помощью кнопки Зарегистрировать.

Если для вашего приложения требуется именованный вход, вам также надо предоставить перенаправленный URI. Перенаправленные URI представляют корректные места, на которые будет перенаправляться пользователь после завершения авторизации OAuth. Чтобы добавить новый перенаправленный URI в своё приложение, перейдите на вкладку Аутентификация своего приложения на https://developers.arcgis.com. Здесь зарегистрируйте своё приложение, если ещё этого не сделали, и добавьте свой перенаправленный URI или добавьте urn:ietf:wg:oauth:2.0:oob, чтобы использовать размещённую перенаправленную страницу в своём приложении на ArcGIS Online. Ссылка urn:ietf:wg:oauth:2.0:oob URI также автоматически устанавливается для всех приложений, созданных и зарегистрированных в ArcGIS AppStudio.

Строк лицензии требуется для построения приложений, которые используют ArcGIS Runtime версии 100.x. Приложение нельзя построить без строки лицензии, которая также отмечает функциональные возможности платформы ArcGIS, на выполнение которых авторизовано приложение. Более подробно о получении строки лицензии см. Лицензирование вашего приложения.

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

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

Перед запуском инструмента Make, находящегося на боковой панели галереи AppStudio в облаке или на локальном диске убедитесь, что вы указали следующее на вкладке iOS в Настройках, находящихся под заголовком Платформы:

  • Bundle ID – Всегда используйте обратное имя Интернет-домена, например, com.companyname.applicationname. Имя пакета – это уникальный идентификатор приложения и имя его процесса по умолчанию. После публикации приложения имя пакета изменить нельзя. Подробнее см. объяснение о пакетных ID в разделе Подготовка для распространения приложения.
  • Профиль инициализации – Обозначает устройства, на которых планируется запускать приложение.
  • Certificate (.p12 file) – Сертификат для App Store или внутреннего распространения. Этот файл создается в Keychain Access. Если эта информация не будет указана в ID в AppStudio, файлы установки не будут созданы. Дополнительную информацию см. в разделе Что такое подпись приложения?

В момент запуска инструмента Создать вам будет предложено ввести пароль сертификата.

Чтобы создать файл сертификата, необходимый для подписывания, разработчик должен выполнить на Mac следующие шаги:

  1. Загрузить сертификат разработчика (например, ios_developer.cer) из iOS Dev Center.
  2. Загрузить мобильный профиль инициализации (например, ios_developer.mobileprovision) с iOS Dev Center.
  3. Используйте серсвис Finder, чтобы перейти в Applications > Utilities > Keychain Access.
  4. Импортировать сертификат в Keychain Access.
  5. В Keychain Access, в списке Keychain выберите login, а в списке Category выберите My Certificates. Выберите сертификат с именем phone Developer: Ваше Имя и экспортируйте его с private key и с паролем (например, john_doe_private_key.p12).

    Файл сертификата создан.

  6. В AppStudio перейдите в Настройки > Платформы > iOS.
  7. Задайте путь к профилю инициализации.
  8. Задайте тип распространения для вашего приложения. Дополнительные сведения о параметрах см. в документации Xcode по методам распространения.
Примечание:

Дважды щелкните файл сертификата .p12 и профиль мобильной инициализации, чтобы импортировать файлы.

Если вы используете AppStudio на macOS, необходимо задать два дополнительных свойства для построения приложений iOS с локальным сервисом Make. Содержимое этих полей можно найти в сертификате разработки или распространения, который можно просмотреть с помощью сервиса Finder для перехода в Applications > Utilities > Keychain Access.

Укажите единицу организации сертификата в поле Team ID.

Введите общее имя сертификата в поле Code Signing Identity.

Подписывание приложения для Android

Чтобы подготовить выпуск для Android, сначала необходимо сгенерировать файл keystore. Подробные сведения о создании этого файла находятся в Документации Android.

Перед запуском инструмента Make, в облаке или на локальном диске убедитесь, что вы указали следующее на вкладке Android в Настройках, находящихся под заголовком Платформы:

  • Имя пакета – Всегда используйте обратное имя Интернет-домена, например, com.companyname.applicationname. Имя пакета – это уникальный идентификатор приложения и имя его процесса по умолчанию. После публикации приложения имя пакета изменить нельзя. Дополнительные сведения см. в описании имени пакета в элементе manifest в Android SDK.
  • Путь файла keystore – расположение файла keystore на вашем компьютере.
  • Псевдоним ключа – имя ключа, созданное во время генерации keystore.

Если эта информация не будет указана, файлы установки будут созданы, но не будут подписаны. Неподписанные файлы можно устанавливать для тестирования, но их нельзя размещать в Google Play или Amazon Appstore.

В момент запуска инструмента Создать вам будет предложено ввести пароли для keystore и key.

Чтобы создать keystore, разработчик должен выполнить следующие шаги:

  1. Загрузить и установить Java Development Kit (JDK) с https://www.oracle.com/technetwork/java/javase/downloads/index.html.
  2. Создать переменную среды JAVA_HOME на настольном компьютере: https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html.
  3. Добавить путь к папке JDK bin к переменной среды PATH.
  4. В окне командной строки для создания ключа используйте следующую команду: keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000, где keystore_name имя, выбранное для будущего файла keystore, а alias_name – имя, выбранное в качестве псевдонима.
  5. Введите пароль keystore и подтвердите его.
  6. Введите дополнительные сведения и подтвердите.
  7. Введите пароль ключа. Этот пароль может быть уникальным, или нажмите Enter, чтобы использовать тот же пароль, что и для файла keystore.

    В папке, где была запущена команда, появится файл keystore.

Подписывание приложения для macOS

Как и для Android, если вы не указали сертификат при запросе файлов установки macOS, файлы будут созданы, но не будут подписаны. Неподписанные файлы можно устанавливать для тестирования, но их нельзя размещать в Mac Store. Следующие шаги аналогичны шагам для iOS; однако для macOS не нужен профиль инициализации. Дополнительную информацию см. в разделе Что такое подпись приложения?

Перед запуском инструмента Make в облаке или на локальном диске убедитесь, что вы указали следующее на вкладке macOS в Настройках, находящихся под заголовком Платформы:

  • Bundle ID – Всегда используйте обратное имя Интернет-домена, например, com.companyname.applicationname. Имя пакета – это уникальный идентификатор приложения и имя его процесса по умолчанию. После публикации приложения имя пакета изменить нельзя. Подробнее см. объяснение о пакетных ID в разделе Подготовка для распространения приложения.
  • Certificate (.p12 file) – Сертификат для App Store или внутреннего распространения. Этот файл создается в Keychain Access. Если эта информация не будет указана в ID в AppStudio, файлы установки не будут созданы. Дополнительную информацию см. в разделе Что такое подпись приложения?

В момент запуска инструмента Создать вам будет предложено ввести пароль сертификата.

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

Подписывание приложения для Windows

Как и для Android, если вы не указали сертификат при запросе файлов установки Windows, файлы будут созданы, но не будут подписаны.

Перед запуском инструмента Make в облаке или на локальном диске убедитесь, что вы указали сертификат на вкладке Windows в Настройках, находящихся под заголовком Платформы: Сертификат (файлы .p12 или .pfx) для Windows Store или внутреннего распространения. См. Создание сертификата для подписанного пакета в документации разработчика Microsoft для дополнительной информации.