|
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