Перед началом. Сначала подготовь iPhone — Developer Mode включён, StandBy выключен, Appearance = Light, Auto-Lock = Never. Полный чек-лист: Подготовка устройств →
Используй этот путь, когда установка по Apple ID падает с ошибкой Authentication Error. Xcode 7.3 or later is required (resultCode 3019), или просто если не хочется хранить пароль Apple ID в приложении. Весь флоу занимает около двух минут.
Это безопасно?
Да — это официальный, поддерживаемый Apple способ авторизации в developer-аккаунте. App Store Connect API использует короткоживущие JWT-токены, подписанные локально твоим приватным ключом .p8. Сам ключ никуда не уходит с твоей машины, пароль Apple ID нигде не сохраняется, штатная 2FA на аккаунте не трогается.
Clout Uploader работает строго в development-песочнице твоей команды:
- Создаются только Development (тестовые) сертификаты и provisioning-профили — те же самые, которые сгенерировал бы Xcode, если бы ты запускал проект на подключённом iPhone.
- Production / App Store / Distribution сертификаты и профили не трогаются. Приложения, опубликованные в App Store, билды в TestFlight и любые in-house Distribution-профили полностью независимы от этого флоу.
- Права API-ключа ограничены тем, что нужно для установки на зарегистрированные устройства. Отзыв ключа в App Store Connect мгновенно прекращает доступ.
Короче говоря: затрагиваются только тестовые установки на iPhone'ах, зарегистрированных для разработки — твои живые приложения и листинги в сторе работают ровно так же, как и раньше.
Что понадобится
- Аккаунт Apple Developer с ролью не ниже App Manager — у роли Developer Apple блокирует создание signing-профилей.
- Ключ типа Team Key (не Individual Key), сгенерированный в App Store Connect.
- Скачанный файл приватного ключа .p8 — Apple отдаёт его ровно один раз.
1. Сгенерировать Team Key в App Store Connect
Около двух минут.
- Открой appstoreconnect.apple.com/access/integrations/api
- Переключись на вкладку Team Keys — не Individual Keys.
- Нажми Generate API Key. Роль — App Manager или выше. Developer не подойдёт: Apple блокирует этой роли создание signing-профилей.
- Apple покажет Issuer ID и Key ID и даст скачать файл .p8. Сохрани его сразу — второй попытки не будет.
Обязательно: именно Team Key (Individual-ключи не могут создавать signing-профили), роль App Manager или выше,
.p8сохранён при первой загрузке.
2. Ввести ключ в Clout Uploader
- Открой страницу Devices.
- Разверни секцию App Store Connect API.
- Заполни Key ID, Issuer ID и перетащи .p8 в зону загрузки.
- Нажми Test connection & save.
Team ID определяется автоматически из аккаунта. Если команда совсем новая и в ней ещё нет зарегистрированных идентификаторов, мастер спросит Team ID вручную — это 10-символьная строка в правом верхнем углу на developer.apple.com/account.
3. Подписать и установить
После сохранения ключа кнопки Install и Reinstall становятся активны для каждого устройства. Подпись теперь идёт через JWT по App Store Connect API — старая авторизация по Apple ID полностью обходится.
Существующие сертификаты, профили и зарегистрированные UDID из старого пути продолжают работать — у Apple за обоими путями стоит один общий реестр, поэтому ничего перерегистрировать не нужно.
Troubleshooting
| Сообщение | Что делать |
|---|---|
| "This key is Individual" | Ключ создан на вкладке Individual Keys. Пересоздай как Team Key. |
| "Regenerate as App Manager →" | Роль ключа слишком низкая. Перевыпусти ключ с ролью App Manager или выше. |
| "Open Apple Developer Portal →" (квота сертификатов 2/2) | В команде закончилась квота сертификатов. Зайди в developer-портал, найди свой собственный orphan-сертификат (CREATED BY = твоё имя), отзови его и попробуй снова. Не трогай сертификаты других участников. |
| "Waiting for the first device's certificate to register with Apple…" | Ожидаемое поведение на парках от 5 устройств при первой параллельной установке — устройства 2..N ждут, пока первое зарегистрируется. Действий не требуется. |
Чек-лист «установка настроена корректно»
- Ключ сгенерирован на вкладке Team Keys в App Store Connect
- Роль ключа — App Manager или выше
- Файл
.p8сохранён при первой загрузке (повторно скачать не получится) - Key ID, Issuer ID и
.p8внесены в секцию App Store Connect API на странице Devices - Test connection & save прошёл успешно — Team ID определился автоматически (или внесён вручную для совсем новой команды)
Связанные гайды
- Структура папок — как раскладывать медиа для режимов Upload, Warm-up и Seeding после того, как устройства настроены.
- Режим Upload — основной флоу публикаций после установки приложения.