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. Даже после выполнения инструкций в принятом ответе и обновления учетной записи разработчика администратору.

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

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