Xcode попытался найти или создать соответствующие подписывающие активы и не смог этого сделать


поэтому я пытаюсь создать специальную сборку с использованием существующего профиля подготовки (который работал раньше) с Xcode 6.0.1 на Mavericks, но после попытки экспортировать этот архив я продолжаю получать следующую ошибку:

Мне нужно, чтобы воссоздать мои сертификаты и профили подготовки, или есть лучшее решение? Спасибо!

9 62

9 ответов:

Я также сталкиваюсь с этой проблемой как с ролью "члена команды". Предупреждение "Вам не разрешено выполнять эту операцию" заставляет меня полагать, что XCode более строго применяет роли, определенные здесь:https://developer.apple.com/programs/roles/

несмотря на то, что у меня есть доступ к ресурсам подписи (сертификат и профиль подготовки), XCode не позволит мне указать их. Попробуйте обновить вашу роль в команде администраторов.

обновление 2014-09-29: После обширных исследований, я обнаружил, что это можно создать .ipa использует xcodebuild из командной строки даже в качестве роли "члена команды", используя следующее:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"

кредит 1

Примечание: как указано в связанной статье, "имя профиля подготовки" - это имя, указанное в поле Имя сертификата (можно просмотреть из developer.apple.com).

вы можете автоматизировать процесс в xcode, включив вызовите в свой сценарий сборки проекта.

попробуйте открыть консоль и перейдите в папку проекта Xcode, затем введите следующие команды:

очистить проект

xcodebuild clean -project YourProjectName.xcodeproj -configuration Release -alltargets

для создания и архивирования вашего приложения

xcodebuild archive -project YourProjectName.xcodeproj -scheme YourSchemaName -archivePath YourProjectName.xcarchive

вы можете просто найти YourSchemaName в Xcode>продукт>схемы> Редактировать Схему...

наконец, чтобы создать ваше приложение .файл

xcodebuild -exportArchive -archivePath YourProjectName.xcarchive -exportPath YourProjectName -exportFormat ipa -exportProvisioningProfile 'Your Provisioning Profile Name'

найти Ваш Профиль Обеспечения Имя пожалуйста, войдите в Apple Developer Member Center и перейдите в Сертификаты, Идентификаторы И Профили, затем нажмите Профиль Подготовки для iOS приложений. Там вы найдете свое имя профиля подготовки.

если это не работает попробуйте заменить одинарную кавычку на двойную ( ' с " ).

вы найдете .ipa-файл в папке проекта Xcode.

после этого вы сможете открыть свой .ipa файл в iTunes и установить на вашем устройстве iOS.

Я надеюсь, что это помогает!

Что происходит: Xcode нужно подписать сборку с действительным сертификатом. Он пытается найти его без везения. Зачем? Потому что до Xcode6 вам было разрешено подписывать сборки AdHoc с сертификатом разработчика. И вы смогли, потому что у вас есть закрытый ключ для него. Но теперь вам нужно подписать специальные сборки с производства сертификаты. И у вас нет секретного ключа для этого.

Итак, шаги, необходимые для того, чтобы можно было построить из Xcode6 (https://stackoverflow.com/a/26061067/1918302):

  1. получить закрытый ключ для сертификата производства. (Вам нужно экспортировать его из Mac keychain, который он имеет, и импортировать в ваш брелок или отменить текущий и создать новый сертификат производства. Во время создания вы получите один. Цитируя здесь из ссылки выше:

    осторожно: отмена сертификата корпоративного дистрибутива делает недействительными все подписанные приложения и развернуто с этим сертификат (официальная информация)).

  2. создать специальный XC Ad Hoc:распределение профиль подготовки (если у вас есть роль администратора в вашей команде developer.apple.com -Xcode сделает это за вас).

  3. установите профиль подготовки в целевом объекте вашего проекта - > параметры сборки - > подпись кода для этого, созданного на Шаге 2.

готово!

или если эти выше не достижимо, вы можете сделать сборку с помощью инструментов командной строки:https://stackoverflow.com/a/25979784/1918302. Но это кажется мне дырой в безопасности, и я не верю, что это будет работать в течение длительного времени.

мы смогли обойти эту проблему, просто попросив одного из администраторов загрузить профиль " XC Ad Hoc: Distribution "из центра разработки, а затем отправить его" члену команды", который хотел построить, и позволить ему вручную импортировать его. Поскольку у него уже был сертификат, это было все, что ему нужно было сделать для сборки и прекратить получать эту ошибку. Существующие ответы здесь верны, но это с низким коэффициентом трения так, чтобы получить последний кусок головоломки для многих из нас.

In резюме, вам нужен этот профиль и сертификат с закрытым ключом в связке ключей.

для меня оказалось, что причиной этого было то, что я не установил свойство профиля подготовки проекта в соответствии с ответ.

Я мой случай, проблема была идентификатор приложения. Конечно, приложение действительно существовало в моей учетной записи member center. Проблема была в области возможностей. Некоторые возможности не разрешили проблему, но сборка была выполнена успешно. Это приводит к ситуации, когда мой идентификатор приложения в центре участников и Xcode имеют разные настройки возможностей.

удаление этого диссонанса решило мою проблему. Дважды проверьте, если у вас есть проблема двойники.

вы должны определить свою учетную запись в Xcode - > Настройки - >Учетная запись Похоже, что вы определили appleId, который не имеет доступа к учетной записи разработчика IOS.

попробуйте войти с этим пользователем в https://developer.apple.com/devcenter/ios/index.action и посмотрите, разрешен ли этот пользователь в программе разработчика IOS.

Это может произойти, если вы подписали с iTunes connect. Это разные счета.

надеюсь, это поможет!

ваша распределенная учетная запись не соответствует команде .

вы должны определить свой аккаунт в xcodeproj - > Identity - >Team - >Add an Account

Я также получал эту ошибку, потому что сертификат разработчика для машины, на которой я строил, истек.

даже после обновления этого сертификата я не смог экспортировать сборку для выпуска App Store. Даже после выполнения инструкций в принятом ответе и обновления этой учетной записи разработчика до администратора.

оказывается, что поскольку архив был создан, когда срок действия сертификата разработчика истек, этот разработчик не смог разработка кода с использованием профиля распространения. Мне пришлось воссоздать архив после обновления сертификата разработчика, чтобы этой машине было разрешено использовать сертификат дистрибутива (уже установленный и ранее работающий), чтобы иметь возможность кодировать новый архив и загружать его в app store.

обмен в случае, если кто-то еще попадает в этот крайний случай.