Ошибка Code Sign: не найдено ни одного не истекшего профиля обеспечения, содержащего какие-либо из сертификатов подписи цепочки для ключей - PullRequest
36 голосов
/ 02 апреля 2012

Я думаю, что достиг надира iOS ада подготовки. После миграции на новый Mac и создания архива для распространения я получил ошибку:

Ошибка кодового знака: не найдены неистекшие профили обеспечения, содержащие любой из сертификатов подписи связки ключей

Затем я удалил все сертификаты, ключи и профили обеспечения и произвел «полный сброс» (удалив все ключи, сертификаты и профили), следуя инструкциям Apple вручную, с той же ошибкой. Затем я сделал еще один жесткий сброс, а затем Xcode обработал все это через органайзер, сделал еще один архив - только чтобы увидеть ту же ошибку.

У меня есть все сертификаты (WDRCA, Developer ID Cert Authority, iPhone Dev, iPhone Distribution), отображаемые в Keychain Access, Xcode показывает, что он видит сертификаты разработчика и дистрибутива, а также профили обеспечения, все отмечены зеленой галочкой и статусом «действительный».

Подпись кода в приложении показывает правильный dev и распределение выбрано.

Что действительно беспокоит, так это то, что поиск Google об ошибке показывает одну техническую заметку от Apple, которая не очень полезна, 2 твита и 3 результата на японском языке - и больше ничего. Я связался с одним из твипов, и он сказал, что исправил это с трудным результатом, что я сделал дважды.

Есть идеи, куда идти и что делать дальше?

Ответы [ 22 ]

27 голосов
/ 10 апреля 2013

Исправлено Организатором -> Команды (выберите свою команду) -> Обновить (нижний правый угол).

10 голосов
/ 03 апреля 2012

После удаления всех devices/profiles/certificates и adding/creating это все равно не сработало и здесь ... удаление префиксов Xcode не помогло.

но, похоже, в настройках проекта, проверьте в настройках сборки в CODE_SIGN_IDENTITIY, в моем проекте первая строка была установлена ​​на старый профиль, но не видна в списке, только если вы открываете раскрывающийся список, после удаления чтобы все заработало.

6 голосов
/ 19 мая 2012

У меня тоже была эта проблема. Я наконец понял, что идентификатор чувствителен к регистру. Например, если имя вашего продукта «StackOverflow», оно автоматически помечает идентификатор как com.yourcompanyname.StackOverflow. (это, конечно, можно изменить, перейдя к сводке цели). Проблема заключается в том, что идентификатор приложения находится на портале для разработчиков. Удостоверьтесь, что идентификатор в портале соответствует тому, что находится в XCode.

4 голосов
/ 03 апреля 2012

У меня та же проблема, что и после установки Xcode 4.3 (переход из / Developer в / Applications). Я нашел этот пост для изменения директории Xcode

в терминале проверьте, по какому пути он установлен:

/usr/bin/xcode-select -print-path

и затем, если он все еще установлен на /Developer, установите его на /Applications:

sudo /usr/bin/xcode-select -switch /Applications

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

2 голосов
/ 01 сентября 2013

Я столкнулся с той же проблемой.

ответ на вопрос прост.

вам нужно авторизоваться на сайте Apple develpoer подать заявку и загрузить профиль для вашего приложения.

после двойного щелчка по файлу загрузки, Вы можете увидеть файл в организации проекта в xcode.

имя идентификатора пакета имеет тип, подобный com.yourname.appname

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

f.y.i.

2 голосов
/ 03 апреля 2012

После девяти часов стрижки волос, проклятия и хоронения головы в моих руках ... Все, что мне нужно было сделать, это создать новый проект, передать файлы вручную, и ошибка исчезла.Argh.

Обновление : моя пометка моего собственного ответа как правильного не означает, что эти другие ответы были неправильными - у меня не было возможности попробовать любой из них.

1 голос
/ 09 апреля 2012

Несколько дней назад у меня была точно такая же проблема.

Проблема связана с отсутствием правильных профилей обеспечения распространения;Моя ошибка заключалась в том, что я добавил новое устройство на портал и не перезагружал профиль распространения с сайта разработчика.

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

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

Надеюсь, это кому-нибудь поможет

1 голос
/ 03 апреля 2012

Я столкнулся с той же проблемой после обновления до Xcode 4.3.2 и SDK 5.1. Все отлично работало в предыдущей версии Xcode с SDK 5.0. После многих часов стрижки волос я создал новый сертификат распространения в iOS Provisioning Portal->Provisioning-> Distribution Tab, и после загрузки и установки его в Xcode (перетаскивание) он работает для архивирования после выбора нового сертификата в Code Signing area для моя цель.

1 голос
/ 16 февраля 2013

Я исправил это, обновив идентификатор пакета в настройках проекта> target> appName на вкладке info.

1 голос
/ 17 марта 2013

У меня была эта проблема, и я исправил ее, вернув мою схему в Debug, а не в Release.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...