Xcode попытался найти или создать соответствующие активы подписи и не смог этого сделать
Итак, я пытаюсь создать специальную сборку, используя существующий профиль подготовки (который работал до этого) с Xcode 6.0.1 на Mavericks, но после попытки экспорта этого архива я продолжаю получать следующую ошибку:
![]()
Нужно ли мне повторно создавать мои сертификаты и профили подготовки, или есть лучшее решение? Спасибо!
Ответы
Ответ 1
Я также сталкиваюсь с этой проблемой как роль "Член команды". Предупреждение "Вы не можете выполнять эту операцию" заставляет меня думать, что XCode более строго выполняет роли, определенные здесь: https://developer.apple.com/programs/roles/
Несмотря на то, что у меня есть доступ к активам подписи (сертификат и профиль подготовки), XCode не позволяет мне указывать их. Попробуйте обновить свою роль в Team Admin.
Обновлено 2014-09-29:
После обширных исследований я обнаружил, что можно создать .ipa, используя xcodebuild из командной строки, даже в качестве роли "Член команды", используя следующее:
xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"
кредит 1
Примечание. Как указано в связанной статье, "Имя профиля предоставления" - это имя, указанное в поле имени сертификата (можно просмотреть с сайта developer.apple.com).
Вы можете автоматизировать процесс в xcode, включив вызов в вашу сборку проекта script.
Ответ 2
Попробуйте открыть консоль и перейти в папку проекта Xcode, затем введите следующие команды:
для очистки вашего проекта
xcodebuild clean -project YourProjectName.xcodeproj -configuration Release -alltargets
для создания и архивирования вашего приложения
xcodebuild archive -project YourProjectName.xcodeproj -scheme YourSchemaName -archivePath YourProjectName.xcarchive
Вы можете просто найти YourSchemaName в
Xcode > Продукт > Схема > Изменить схему...
наконец, чтобы создать ваше приложение .ipa файл
xcodebuild -exportArchive -archivePath YourProjectName.xcarchive -exportPath YourProjectName -exportFormat ipa -exportProvisioningProfile 'Your Provisioning Profile Name'
Чтобы найти ваше имя профиля вашего профиля, войдите в Центр разработчиков Apple Developer и перейдите в Сертификаты, идентификаторы и профили, затем нажмите Профилирование профилей. > для приложений iOS. Там вы найдете свое имя профиля вашего профиля.
Если он не работает, попробуйте заменить одиночную кавычку на двойной ( "с" ).
Вы найдете файл .ipa в папке проекта Xcode.
После этого вы сможете открыть свой .ipa файл в iTunes и установить на свое устройство iOS.
Надеюсь, это поможет!
Ответ 3
Что происходит: Xcode нужно подписать сборку с действующим сертификатом. Он пытается найти его без везения. Зачем? Потому что перед Xcode6 вам разрешили подписывать сборки AdHoc с вашим сертификатом разработчика. И вы были в состоянии, потому что у вас есть закрытый ключ для этого. Но теперь вам нужно подписать Ad Hoc сборки с сертификатом Production. И у вас нет закрытого ключа для него.
Итак, шаги, необходимые для создания из Xcode6 (fooobar.com/questions/33855/...):
-
Получить секретный ключ для вашего производственного сертификата. (Вам нужно экспортировать его из брелка Mac, которое у него есть, и импортировать его в свою цепочку ключей или отменить текущий и создать новый производственный сертификат. Во время создания вы получите его. Процитировать здесь по ссылке выше:
BEWARE: отмена сертификата корпоративного распространения делает недействительными все приложения, которые были подписаны и развернуты с этим сертификат (официальная информация)).
-
Создайте специальный профиль XC Ad Hoc: Распространение (если у вас есть роль администратора в вашей команде на developer.apple.com - Xcode сделает это за вас).
-
Задайте профиль подготовки в целевом объекте проекта → Настройки сборки → Подписание кода для этого, созданного на шаге 2.
Готово!
ИЛИ если те, которые выше не достижимы, вы можете сделать сборку с помощью инструментов командной строки: fooobar.com/questions/33855/....
Но это кажется мне дырой в безопасности, и я не верю, что это будет работать долгое время.
Ответ 4
Мы смогли обойти эту проблему, просто попросив одного из админов загрузить профиль "XC Ad Hoc: Distribution" из центра dev, а затем отправив его "члену команды", который хотел построить, и позволил ему вручную импортируйте его. Поскольку у него уже был сертификат, это все, что ему нужно, чтобы иметь возможность делать сборку и перестать получать эту ошибку. Существующие ответы здесь правильные, но это способ с низким коэффициентом трения, чтобы получить последнюю часть головоломки для многих из нас.
Таким образом, вам нужен этот профиль и сертификат с закрытым ключом в вашей цепочке ключей.
Ответ 5
Для меня оказалось, что причиной этого было то, что я не задал свойство профиля профилирования проекта как этот ответ.
Ответ 6
В моем случае проблема была в App ID. Конечно, приложение действительно существует в моей учетной записи центра. Проблема была в панели "Возможности". Некоторые из возможностей не разрешили проблему, но сборка была успешно завершена. Это приводит к ситуации, когда мой идентификатор приложения в центре участников и Xcode имеют разные настройки параметров.
Удаление этого диссонанса разрешило мою проблему.
Проверьте его дважды, если у вас есть проблемы с симуляцией.
Ответ 7
Вы должны определить свою учетную запись в Xcode- > preferences- > account
Кажется, что вы определили appleId, которому не разрешен доступ к учетной записи разработчика IOS.
Попробуйте подписать с этим пользователем https://developer.apple.com/devcenter/ios/index.action и посмотреть, разрешен ли этот пользователь в программе разработчика IOS.
Это может произойти, если вы подписали контракт с iTunes connect. Это разные учетные записи.
Надеюсь, это поможет!
Ответ 8
Ваша распределенная учетная запись не соответствует команде.
Вы должны определить свою учетную запись в xcodeproj- > Identity- > Team → Добавить учетную запись
Ответ 9
Я также получал эту ошибку, потому что сертификат разработчика для машины, на которой я строился, истек.
Даже после обновления этого сертификата мне не удалось экспортировать версию Build для App Store.
Даже после выполнения инструкций в принятом ответе и обновления учетной записи разработчика администратору.
Оказывается, что, поскольку Архив был создан, пока истекает срок действия сертификата разработчика, этот Разработчик не смог выполнить кодовое соединение с использованием профиля распространения.
Мне пришлось воссоздать Архив после обновления Сертификата разработчика, чтобы на этом компьютере разрешалось использовать сертификат распространения (уже установленный и ранее работающий), чтобы разрешить кодовое кодирование нового архива и загрузку в хранилище приложений.
Совместное использование в случае, если кто-либо другой ударит по этому краю.