|
| 1 | +Если у вас индивидуальный аккаунт и вы хотите добавить разработчика, нужно сделать сертификат вручную. |
| 2 | +Добавленный разработчик может разрабатывать, но не может просто так в вашем аккаунте выгружать приложения. |
| 3 | + |
| 4 | +> Если у вас аккаунт компании, то так делать не нужно. Все будет работать автоматически. |
| 5 | +
|
| 6 | +Смотрите нам нужен сертификат. |
| 7 | +Для этого нужно создать запрос на подписание, сделаем это в первом шаге. |
| 8 | +Сертификат нам нужно подписать, это мы будем делать во втором шаге. |
| 9 | +Во третьем шаге сгенерируем этот сертификат с подписью. |
| 10 | +Четвертый шаг опциональный, если у вас нет App ID приложения зарегистрируем его. |
| 11 | +В пятом шаге делаем на основе сертификата профаил, он отвечает за то чтобы мы могли выгружать приложения. |
| 12 | + |
| 13 | +# Запрос на подписание сертификата |
| 14 | + |
| 15 | +`CertificateSigningRequest`, далее CSR используется для запроса цифрового сертификата. CSR нужен для создания сертификатов разработчика, для подписывания приложений и их публикации в App Store. |
| 16 | + |
| 17 | +Чтобы вручную сгенерировать сертификат, нужно создать файл CSR на вашем маке. Это делается с помощью приложения **Keychain Access**. |
| 18 | + |
| 19 | +**Keychain Access** > **Certificate Assistant** > **Request a Certificate From a Certificate Authority...** |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +Вводим свою почту и имя, выбираем Saved to disk и жмем Continue. В следующем окне просто сохраняем фаил. |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | +Получаем файл CertificateSigningRequest.certSigningRequest: |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +# Сертификат для подписи приложений |
| 32 | + |
| 33 | +`distribution.cer` — это цифровой сертификат, который выдается разработчику и используется для подписывания приложений перед их публикацией в App Store или для распространения через другие официальные каналы. Сертификат подтверждает подлинность и целостность приложения. |
| 34 | + |
| 35 | +Идем в свой **Developer account**, в сертификаты: |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | +Чтобы добавить новый сертификат, жмем плюс: |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | +Выбираем **Apple Distribution** и жмем Continue: |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +На странице создания нового сертифика в поле **Choose File**, вставляем ранее сгенерированный файл и жмем Continue: |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +Сертификат создан, скачиваем его: |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | +# Сертификат с ключами |
| 56 | + |
| 57 | +Файлы `Certificates.p12` используются для передачи и хранения сертификатов разработчика и связанных с ними закрытых ключей. |
| 58 | + |
| 59 | +Скачанный сертификат файл из предыдущей главы это `distribution.cer`. |
| 60 | + |
| 61 | +После двойного клика по файлу, он откроется в **Keychain Access**. Если этого не произошло, просто найдите последний загруженный сертификат **Apple Distribution** по дате. Дата истечения будет через год. |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | +Раскрываем сертификат и выделяем сертификат вместе с приватным ключем. Жмем правую кнопку и выбираем `Export 2 items...` |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | +Назвать файл можно как угодно, я сохраню как есть: |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | +Далее оставляем все поля пустыми и жмем ok: |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | +В связке ключей вводим пароль от своего мака и жмем **Always Allow**: |
| 78 | + |
| 79 | + |
| 80 | + |
| 81 | +Получим файл `Certificates.p12`: |
| 82 | + |
| 83 | + |
| 84 | + |
| 85 | +# App ID приложения |
| 86 | + |
| 87 | +Если у вас есть приложение, можно простить этот пункт. |
| 88 | + |
| 89 | +`App ID` это уникальный идентификатор, используемый для регистрации и управления приложениями в экосистеме Apple. `App ID` связывает приложения с различными сервисами Apple, такими как Push Notifications, iCloud, Game Center и другими. |
| 90 | + |
| 91 | +Идем снова в **Developer account**, выбираем **Identifiers** и жмем плюс: |
| 92 | + |
| 93 | + |
| 94 | + |
| 95 | +Выбираем **App IDs**, далее **App**: |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | +Здесь в Description вводим название приложения. В Bundle ID указываем бандл приложения. |
| 100 | +Explicit - используется для подписи только одного приложения. |
| 101 | +Wildcard - используется для подписи нескольких приложений. |
| 102 | + |
| 103 | +Подробнее про Explicit и Wildcard, [здесь](https://developer.apple.com/library/archive/qa/qa1713/_index.html): |
| 104 | + |
| 105 | + |
| 106 | + |
| 107 | +Если нужно Включите **Sign in with Apple**. Поставьте галочку, нажмите Edit и введите свой Notification Endpoint. |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | +Проверяем правильно ли все заполнили и жмем Register: |
| 112 | + |
| 113 | +> Если получили ошибку проверьте поле Bundle ID, чаще всего проблема именно в нем. |
| 114 | +
|
| 115 | + |
| 116 | + |
| 117 | +После успешной регистрации, на странице **Identifiers** появится идентификатор вашего приложения: |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | +# Profile для выгрузки приложений |
| 122 | + |
| 123 | +`Provisioning Profile` позволяет запускать и тестировать приложения на реальных устройствах Apple и загружать их в App Store. Он связывает ваш Apple Developer Account, App ID, сертификаты и зарегистрированные устройства. |
| 124 | + |
| 125 | +После создания ID, идем в меню **Profiles** жмем кнопку Generate a profile или плюс: |
| 126 | + |
| 127 | + |
| 128 | + |
| 129 | +Выбираем App Store Connect: |
| 130 | + |
| 131 | + |
| 132 | + |
| 133 | +В `App ID` выбираем нужный bundle id из списка: |
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | +Выбираем недавно созданный сертификат, смотрим на дату истечения: |
| 138 | + |
| 139 | + |
| 140 | + |
| 141 | +В поле `Provisioning Profile` Name вводим название приложения + **Distribution** и жмем Generate: |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | +Осталось только скачать файл: |
| 146 | + |
| 147 | + |
| 148 | + |
| 149 | +Получаем файл Appname_Distribution.mobileprovision: |
| 150 | + |
| 151 | + |
| 152 | + |
| 153 | +# Передаем сертификат и профаил другому разработчику |
| 154 | + |
| 155 | +Передаем разработчику файл `.p12` и `Provision Profile`. |
| 156 | +Далее нужно дважды щелкнуть на полученный файл `.p12` или использовать импорт в **Keychain Access**. |
| 157 | + |
| 158 | + |
| 159 | + |
| 160 | +Чтобы добавить `Provision Profile` открываем Xcode с проектом. Переходим в Project Settings и выбираем target. На вкладке Signing & Capabilities отключаем **Automatically manage signing**, выбираем нужный `Team ID` и импортируем полученный `Provisioning Profile`. |
| 161 | + |
| 162 | + |
0 commit comments