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