Что означает ошибка 9006
Ошибка 9006 (Invalid Provisioning Profile) появляется при попытке сборки iOS-приложения в Xcode. Она указывает на то, что выбранный профиль не соответствует текущему сертификату, имени приложения или списку разрешённых устройств. В результате Xcode не может проверить подпись и прерывает процесс архивирования.
Причины возникновения
- Просроченный или отозванный сертификат разработки.
- Профиль создан для другого приложения или с другим сертификатом.
- В списке устройств в профиле отсутствуют нужные iPhone/iPad или, наоборот, есть посторонние устройства.
- Ошибка в имени профиля (не совпадает с bundle identifier).
- Повреждён файл профиля (
.mobileprovision) или сертификата (.cer).
Способы решения
Способ 1: Обновить сертификат
- Откройте Keychain Access → Certificates.
- Удалите устаревший сертификат (нажмите
Deleteи подтвердите). - Перейдите на сайт Apple Developer, создайте новый сертификат разработки.
- Импортируйте новый сертификат (
.cer) в Keychain Access.
Способ 2: Проверить профиль
- Запустите Xcode, перейдите в Xcode > Preferences > Accounts.
- Выберите учётную запись разработчика и откройте Team Certificates.
- Убедитесь, что профиль помечен как Development и соответствует текущему проекту.
- В разделе Distribution профиля проверьте, что список устройств совпадает с реальными устройствами бета-тестеров.
Способ 3: Удалить и создать новый профиль
- В Xcode откройте Project Settings → Signing & Capabilities.
- Нажмите +/- под профилем и выберите Create New → Development.
- Выберите новый сертификат (тот, что создан в Способе 1) и укажите bundle identifier.
- Сохраните и закройте окно.
Способ 4: Переподписать приложение
- Откройте терминал и перейдите в папку проекта.
- Выполните команду для повторной подписи архива:
xcodebuild -scheme MyApp -archivePath MyApp.xcarchive MyApp.xcarchive
- В Xcode перейдите в Window > Organizer, найдите архив и выполните Distribute App.
Способ 5: Использовать альтернативную учётную запись
- В Xcode > Preferences > Accounts добавьте вторую учётную запись разработчика.
- В настройках проекта переключите Team на новую учётную запись.
- Повторите сборку — это поможет исключить конфликт между сертификатами.
Профилактика
- Регулярно проверяйте срок действия сертификатов в Keychain Access.
- Создавайте профили непосредственно перед каждой сборкой, не reusing старые для разных проектов.
- Следите за тем, чтобы список устройств в профиле точно соответствовал тестерам.
- Храните резервные копии корректных сертификатов и профилей в надёжном месте (например, в зашифрованном контейнере).
Часто задаваемые вопросы
Что означает ошибка Invalid Provisioning Profile при сборке приложения?
Почему профиль не действителен и как это проверить?
Как обновить сертификат и профиль для бета-версии?
Есть альтернативное решение без пересоздания профиля?
Полезное
Проверить сертификат
Проверить профиль
Удалить и создать новый профиль
Переподписать приложение
Использовать альтернативную учетную запись