Skip to content

Commit 10e4a59

Browse files
committed
Update cert-and-profile-for-personal-developer-account.md
1 parent f5c3059 commit 10e4a59

File tree

1 file changed

+43
-37
lines changed

1 file changed

+43
-37
lines changed
Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,41 @@
1-
Если у вас индивидуальный аккаунт разработчика (на физ. лицо), то сторонний разработчик не сможет выгрузить билд. Для этого владельцу аккаунта нужно сделать сертификаты вручную.
1+
Вы хотите добавить разработчика в аккаунт, чтобы он мог выгружать приложение. Если у вас аккаунт компании (юр. лица), то всё работает из коробки.
22

3-
> Может появиться идея передать логин-пароль, так делать небезопасно
3+
Но если вы владелец индивидуального аккаунт (на физ. лицо), то сторонний разработчик не сможет выгрузить билд. Для этого владельцу такого аккаунта нужно сделать сертификаты.
44

5-
Если у вас аккаунт компании (юр. лица), то сертификаты генерируются автоматически и делать ничего не нужно.
5+
> Передавать логин-пароль от вашего Apple ID — небезопасно, не делайте так
66
7-
Статья написана по шагам, делать сверху-вниз:
8-
- Сначала делаем подпись для сертификата
7+
Сертификаты можно сделать вручную или через API. В этой статье разберем ручной способ.
8+
9+
Вот что будем делать по шагам:
10+
- Сначала запрос на подпись для сертификата
911
- Создадим сертификат
1012
- Объединим этот сертификат с ключом
11-
- Регистриурем приложение (если ещё не зарегистрировали)
12-
- На основе сертификата сделаем профаил — именно он нужен, чтобы выгружать приложения
13+
- Регистриурем приложение (если ещё не нет)
14+
- На основе сертификата сделаем профайл — именно он нужен, чтобы выгружать приложения
1315

1416
# Запрос сертификата
1517

16-
Сначала сделаем специальный запрос — это файл с расширением `.certSigningRequest`. Этот файл нужен, чтобы сделать сертификат.
18+
Сначала сделаем специальный запрос на сертификат — это файл с расширением `.certSigningRequest`.
1719

18-
Откроем *Keychain Access* и создадим файл `CertificateSigningRequest.certSigningRequest`:
20+
Открываем *Keychain Access* и создаём файл `CertificateSigningRequest.certSigningRequest`:
1921

2022
![Запрос в центре сертификации](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/keychain-request.png)
2123

22-
Вводим почту и имя, выбираем *Saved to disk*. В следующем окне просто сохраните файл:
24+
Вводите почту и имя и выбираем *Saved to disk*. В следующем окне просто сохраните файл:
2325

24-
![Сохраняем подпись сертификата](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/keychain-sert-info.png?v=2)
26+
![Сохраняем запрос на сертификат](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/keychain-sert-info.png?v=2)
2527

2628
У вас появится файл, он ещё пригодится:
2729

2830
![Готовый файл `.certSigningRequest`](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/keychain-sert-created.png?v=2)
2931

30-
# Делаем сертификат
32+
> Если у владельца акаунта нет macOS, то запрос-файл делает разработчик и отправляет владельцу аккаунта
3133
32-
Сертификат подтверждает что ваше приложение это именно оно. Расширение файла-сертификата `.cer`.
34+
# Делаем сертификат
3335

34-
> Для каждого нового приложения инструкцию нужно повторить
36+
Сертификат подтверждает что ваше приложение это именно оно. Расширение у файла-сертификата — `.cer`.
3537

36-
Откройте свой *Developer Account*, вкладка сертификаты:
38+
Откройте в *Developer Account* вкладку сертификаты:
3739

3840
![Вкладка с сертификатами](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/main-sert.png)
3941

@@ -45,33 +47,33 @@
4547

4648
![Apple Distribution](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/new-sert.png)
4749

48-
На этой странице попросит файл-запрос на сертфиикат `.certSigningRequest`, который мы сделали выше. Выбирайте файл и идем дальше:
50+
На этой странице попросит файл-запрос на сертфиикат `.certSigningRequest`, который мы сделали выше. Выбирайте файл:
4951

5052
![Добавляем `.certSigningRequest`](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/select-new-sert.png)
5153

52-
Сертификат готов. Скачайте его, он ещё пригодится:
54+
Сертификат готов — скачайте его, он ещё пригодится:
5355

5456
![Скачиваем сертификат](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/download-sert.png)
5557

5658
# Объединяем сертификат и ключ
5759

58-
Дальше нам нужен файл с расширением `.p12`. Он хранит связку сертификат + ключ.
60+
Дальше нужен файл с расширением `.p12`. Он хранит связку сертификат/ключ.
5961

60-
Кликните два раза по файлу `distribution.cer`, он должен открыться в *Keychain Access*.
62+
Кликните два раза по файлу `distribution.cer`, он откроется *Keychain Access*.
6163

6264
> Если ничего не происходит, просто найдите последний загруженный сертификат *Apple Distribution* по дате. Дата истечения будет через год
6365
6466
![Apple Distribution сертификат](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/distribution-sert.png)
6567

66-
Разверните выпадайку слева от сертификата и выделите сертификат и приватный ключ. Дальше жмем правую кнопку и выбираем `Export 2 items...`
68+
Разверните выпадайку (слева от сертификата) и выделите сертификат и приватный ключ. Дальше нажмите правую кнопку и выберите `Export 2 items...`
6769

68-
![Экспорт сертификата с ключом](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/export-distribution-sert.png)
70+
![Экспортируем сертификат с ключом](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/export-distribution-sert.png)
6971

7072
Сохраняем файл:
7173

7274
![Имя для сертификата](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/create-sert-p12.png)
7375

74-
Дальше оставьте поля пустыми и нажмите ok:
76+
Ставим пароль сертификату, можно оставить пустым:
7577

7678
![Пароль для сертификата](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/sert-p12-non-pass.png)
7779

@@ -81,67 +83,69 @@
8183

8284
Получим файл `Certificates.p12`:
8385

84-
![Сертификат .p12](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/save-sert-p12.png)
86+
![Сертификат `.p12`](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/save-sert-p12.png)
8587

8688
# Регистрируем приложение
8789

88-
> Если у вас уже есть приложение, этот шаг можно пропустить
90+
> Если у вас уже есть приложение, этот шаг пропускаем
8991
9092
`App ID` это уникальный идентификатор приложения. Он связывает приложения с сервисами Apple, такими как Push Notifications, iCloud, Game Center и др.
9193

92-
Идем снова в *Developer account*, выбираем *Identifiers* и жмем плюс:
94+
Идем в *Developer Account* во вкладку *Identifiers* и жмем плюс:
9395

9496
![Вкладка Identifiers](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/identifiers.png)
9597

9698
Выбираем *App IDs*, далее *App*:
9799

98100
![App IDs и App](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/register-identifier-app-id.png)
99101

100-
Здесь в *Description* вводим название приложения. В *Bundle ID* указываем бандл приложения. `Explicit` - используется для подписи только одного приложения. `Wildcard` - используется для подписи нескольких приложений.
102+
Здесь в *Description* введите название приложения, а в *Bundle ID* бандл. `Explicit` - используется для подписи только одного приложения. `Wildcard` - используется для подписи нескольких приложений.
101103

102-
> Подробнее про Explicit и Wildcard, [здесь](https://developer.apple.com/library/archive/qa/qa1713/_index.html):
104+
> Подробнее про Explicit и Wildcard [по ссылке](https://developer.apple.com/library/archive/qa/qa1713/_index.html):
103105
104106
![Регистрация App ID](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/register-app-id.png)
105107

106-
Проверяем правильно ли все заполнили и жмем *Register*:
108+
Когда заполнили поля, жмём *Register*:
107109

108-
> Если получили ошибку проверьте поле Bundle ID, чаще всего проблема именно в нем.
110+
> Если получили ошибку проверьте поле Bundle ID
109111
110112
![Регистрируем App ID](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/end-register-app-id.png)
111113

112-
На странице *Identifiers* появится идентификатор вашего приложения:
114+
На странице *Identifiers* появится идентификатор нового приложения:
113115

114116
![Идентификатор приложения](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/identifiers-list.png)
115117

116118
# Provisioning Profile
117119

118-
`Provisioning Profile` связывает всё вместе — Apple Developer Account, App ID, сертификаты и зарегистрированные устройства. Это файл с расширением `.mobileprovision`.
120+
`Provisioning Profile` связывает всё вместе — Apple Developer Account, App ID, сертификаты и устройства.
119121

120-
Идем во вкладку *Profiles* жмем кнопку *Generate a profile* или плюс:
122+
Это файл с расширением `.mobileprovision`.
123+
124+
Идем во вкладку *Profiles*, жмем кнопку *Generate a profile*:
121125

122126
![Вкладка Profiles](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/profiles.png)
123127

124128
Выбираем *App Store Connect*:
125129

126130
![App Store Connect](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/new-profile.png)
127131

128-
В `App ID` выбираем нужный *Bundle ID* из списка:
132+
В `App ID` выбираем нужный `Bundle ID` из списка:
129133

130134
![Выбираем App ID](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/generate-profile-app-id.png)
131135

132136
Выбираем недавно созданный сертификат (проверяй дату когда истекает):
133137

134138
![Добавляем сертификат](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/generate-profile-select-sert.png)
135139

136-
В поле Provisioning Profile Name введите имя приложения + *Distribution*. Жмем *Generate*:
140+
Заполните имя *Provisioning Profile Name* и жмем *Generate*:
137141

138142
![Название для Provisioning Profile](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/generate-profile-name.png)
139143

140144
Осталось скачать файл:
141145

142146
![Скачиваем Provisioning Profile](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/download-profile.png)
143147

144-
Получаем файл `Appname_Distribution.mobileprovision`:
148+
Получаем файл с вашим именем и расгирением `.mobileprovision`:
145149

146150
![Provision Profile](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/created-profile.png)
147151

@@ -151,8 +155,10 @@
151155

152156
![Импортируем `.p12`](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/add-p12.png)
153157

154-
Теперь разработчик идет в Xcode-проект. Нужно перейти в Project Settings и выбрать тарегт. На вкладке *Signing & Capabilities* отключаем `Automatically manage signing`, выбираем нужный Team ID и импортируем Provisioning Profile:
158+
Теперь разработчик идет в Xcode-проект в Project Settings и выбрать тарегт. На вкладке *Signing & Capabilities* отключаем `Automatically manage signing`, выбираем нужный Team ID и импортируем Provisioning Profile:
155159

156160
![Импортируем Provision Profile](https://cdn.sparrowcode.io/tutorials/cert-and-profile-for-personal-developer-account/add-profile-xcode.png)
157161

158-
Теперь разработчик сможет выгружать приложения на ваш индивидуальный аккаунт.
162+
Готово! Теперь разработчик сможет выгружать приложения на индивидуальный аккаунт.
163+
164+
> Инструкцию не нужно повторять для каждого приложения, а только если меняется Profile

0 commit comments

Comments
 (0)