Вы хотите добавить разработчика в аккаунт, чтобы он мог выгружать приложения. Если у вас аккаунт компании (юр. лицо), то всё работает из коробки.
Но если у вас индивидуальный аккаунт (физ. лицо), то сторонний разработчик сможет выгружать приложения только со специальным профайлом.
Сертификаты можно сделать вручную или через API. В этой статье разберем ручной способ.
По шагам, что будем делать:
- Сначала запрос на подпись для сертификата
- Создадим сам сертификат
- Объединим этот сертификат с ключом
- Регистрируем приложение (возможно, оно у вас уже зарегано)
- Делаем профайл на основе сертификата — именно он нужен, чтобы выгружать приложения
Запрос сертификата
Делаем специальный запрос на сертификат — это файл с расширением .certSigningRequest.
Открываем Keychain Access и создаём файл CertificateSigningRequest.certSigningRequest:

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

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

Делаем сертификат
Сертификат подтверждает, что приложение именно ваше. Расширение у файла-сертификата — .cer.
Откройте в Developer Account вкладку сертификаты:

Чтобы сделать новый сертификат, жмите плюс:

Выбираем Apple Distribution и жмем Continue:

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

Сертификат готов — скачайте его, он ещё пригодится:

Объединяем сертификат и ключ
Дальше нужен файл с расширением .p12. Он хранит связку сертификат-ключ.
Кликните два раза по файлу distribution.cer, и он откроется Keychain Access.

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

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

Ставим пароль сертификату, можно оставить пустым:

Тут попросит пароль от вашего мака — введите и нажмите Always Allow:

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

Регистрируем приложение
App ID это уникальный идентификатор приложения. Он связывает приложения с сервисами Apple, такими как Push Notifications, iCloud, Game Center и др.
Идем в Developer Account во вкладку Identifiers и жмем плюс:

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

Здесь в Description введите название приложения, а в Bundle ID бандл. Explicit — используется для подписи только одного приложения. Wildcard — используется для подписи нескольких приложений.

Когда заполнили поля, жмём Register:

На странице Identifiers появится идентификатор нового приложения:

Provisioning Profile
Provisioning Profile связывает всё вместе: Apple Developer Account, App ID, сертификаты и устройства.
Это файл с расширением .mobileprovision.
Идем во вкладку Profiles, жмем кнопку Generate a profile:

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

В App ID выбираем нужный Bundle ID из списка:

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

Заполните имя Provisioning Profile Name и нажмите Generate:

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

Получаем файл с вашим именем и расширением .mobileprovision:

Передаем файлы разработчику
Передаем разработчику файл .p12 и Provision Profile. Дальше разработчику нужно дважды щелкнуть на файл .p12 или импортировать в Keychain Access:

Теперь разработчик идет в Xcode-проект — Project Settings и выбирает таргет. На вкладке Signing & Capabilities отключаем Automatically manage signing, выбираем Team ID и импортируем Provisioning Profile:

Готово! Разработчик сможет выгружать приложения на индивидуальный аккаунт.