Xcode попытался найти или создать соответствующие подписывающие активы и не смог этого сделать
поэтому я пытаюсь создать специальную сборку с использованием существующего профиля подготовки (который работал раньше) с Xcode 6.0.1 на Mavericks, но после попытки экспортировать этот архив я продолжаю получать следующую ошибку:
Мне нужно, чтобы воссоздать мои сертификаты и профили подготовки, или есть лучшее решение? Спасибо!
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):
получить закрытый ключ для сертификата производства. (Вам нужно экспортировать его из Mac keychain, который он имеет, и импортировать в ваш брелок или отменить текущий и создать новый сертификат производства. Во время создания вы получите один. Цитируя здесь из ссылки выше:
осторожно: отмена сертификата корпоративного дистрибутива делает недействительными все подписанные приложения и развернуто с этим сертификат (официальная информация)).
создать специальный XC Ad Hoc:распределение профиль подготовки (если у вас есть роль администратора в вашей команде developer.apple.com -Xcode сделает это за вас).
установите профиль подготовки в целевом объекте вашего проекта - > параметры сборки - > подпись кода для этого, созданного на Шаге 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.
обмен в случае, если кто-то еще попадает в этот крайний случай.