Подписание приложения для iPhone: в вашей цепочке для ключей не найдена действительная подпись, соответствующая этому профилю. - PullRequest
310 голосов
/ 16 июня 2009

Я тяну волосы за это. Я только что загрузил iPhone 3.0 SDK, но теперь я не могу заставить мои профили инициализации работать. Вот что я попробовал:

  • Удалить все профили обеспечения
  • Удалить брелок для логина
  • Создайте новую цепочку для ключей входа в систему, сделайте это по умолчанию
  • Создать новый запрос на подпись сертификата
  • Создание нового разработчика и дистрибутива сертификаты в центре разработчиков Apple
  • Скачайте и установите их
  • Загрузите сертификат WWDR и установите его
  • Создайте новый профиль обеспечения и дважды щелкните по нему, чтобы установить

Все сертификаты сообщаются как действительные, но Xcode по-прежнему не распознает их. Что мне делать дальше?

Edit:

Я полностью переустановил Mac OS X, а из новой установки установил 3.0 SDK и все еще имею ту же проблему.

Ответы [ 32 ]

1 голос
/ 12 января 2012

Вот что я сделал.

  1. Убедитесь, что ваши сертификаты не истекли, убедитесь, что вы удалили все просроченные. Получите новые и т. Д. После того, как вы убедитесь, что все так, как должно быть, сконцентрируйтесь на файлах вашего проекта.
  2. в поиске, перейдите к своим файлам .xcodeproj и покажите содержимое пакета.
  3. открыть файл project.pbxproj в xcode или textedit.
  4. найдите все ссылки на PROVISIONING_PROFILE и удалите GUID, просто оставьте пустым "" В зависимости от вашего проекта у вас должно быть около 12+ ссылок, удалите все GUIDS.

  5. Сохраните файл, затем снова откройте ваш проект в XCODE

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

Я думаю, что Xcode каким-то образом запутывается, и удаление всех профилей обеспечения из проекта. Pbxproj, а затем повторный выбор действительного профиля приведут его в порядок.

1 голос
/ 12 ноября 2012

Если у вас есть новый Mac, вы можете перейти на Центр разработчиков IOS -> Provisioning Portal -> Сертификаты -> Разработка -> Отзыв и создание нового сертификата. Моя проблема решена. Моя ошибка: «Ошибка подписи кода: идентификация« iPhone Developer »не соответствует ни одной действительной, не истекшей паре сертификат / закрытый ключ в ваших цепочках ключей»

1 голос
/ 23 мая 2011

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

На всякий случай, если кто-то еще пропустит то же, что и я ...

так же, как когда вы разрабатывали и тестировали ...

1) Вам нужно РАСПРОСТРАНЕНИЕ << СЕРТИФИКАТ >> 2) Вам нужен ДИСТРИБЬЮТОР << ПРОФИЛЬ ПРЕДОСТАВЛЕНИЯ >>

Это ДВА ШАГА на портале, чтобы подписать вещь.

Вот я и создал СЕРТИФИКАТ разработчика и скопировал его в папку Mobile Provisions, задаваясь вопросом, почему он не работает.

Как только у меня появился профиль инициализации

* БИНГО *

1 голос
/ 23 мая 2011

Я просто потратил несколько часов на эту проблему fershlugginer, которая возникла после продления лицензии на разработку. Повторюсь, все работало без сбоев, затем (спасибо, Apple!) Все облажалось и оставалось облажаться. Ни один из официальных шагов по устранению неполадок Apple (связанных с вышеупомянутым) или возможных шагов по устранению, упомянутых здесь, не решил проблему для меня.

В конечном итоге мне удалось удалить оба сертификата разработки и распространения, отозвать их на портале обеспечения, а затем разрешить Xcode АВТОМАТИЧЕСКИ обновлять / выдавать их. Ничто иное, в любом порядке, не смогло получить оба необходимых сертификата в мою цепочку для ключей с правильно прикрепленным закрытым ключом.

1 голос
/ 17 июня 2009

"Это была ошибка на сайте портала Apple. Им не хватало необходимого поля в профиле обеспечения. Они исправили эту ошибку поздно 16.06.09."

1 голос
/ 27 июня 2009

У меня была точно такая же проблема и все перепробовал. По любой причине решение состояло в том, что все мои сертификаты были перенесены в цепочку для ключей, называемую «microsoft_intermediate_certificates». Как это, вероятно, произошло во время обновления XCode, я понятия не имею, почему, но это может кому-то помочь.

Я переместил все содержимое цепочки для ключей Microsoft в цепочку для ключей входа в систему, и все вернулось на круги своя.

1 голос
/ 10 июля 2009

Я наконец-то заставил это сработать после 4 отдельных попыток после того, как возникла та же проблема, которая была первоначально опубликована. Итак, вот что случилось, я не уверен, что это старая проблема сейчас (2009-07-09), но я все равно опубликую, если она будет полезна для вас. Что сработало для меня ... может сработать для вас ...

  1. начать заново и удалить старые закрытые ключи, открытые ключи и сертификаты в цепочке для ключей
  2. пройти весь процесс, запросить сертификат у центра сертификации, получить новый открытый ключ, новый закрытый ключ и новый сертификат. Примечание: когда он работал, у меня был ровно один закрытый ключ, один открытый ключ и один сертификат
  3. Создайте новый профиль обеспечения (который использует сертификат, который вы только что сделали) и поместите его в окно вашего органайзера в XCode. Удалить все старые БС.
  4. Запустите его.

Надеюсь, это поможет.

1 голос
/ 16 октября 2009

У меня была такая же проблема, но это было связано с моей настройкой "FileVault" на моем Mac. Я вошел в свою цепочку для ключей и установил "логин", чтобы быть моим по умолчанию, и это исправило это.

1 голос
/ 13 июля 2010

Что вам нужно:

1) Закрытый и открытый ключ.

У них есть этот символ в вашей цепочке для ключей:

альтернативный текст http://pici.se/pictures/IbNdRGuoy.png

2) Сертификат, полученный из запроса на подпись этих ключей

3) Профиль обеспечения, связанный с этим сертификатом

Допустим, вы меняете компьютеры и хотите снова настроить Xcode с профилями обеспечения. Как ты это делаешь?

  1. Откройте XCode, нажмите Ctrl + O, чтобы открыть Органайзер, и удалите все профили обеспечения, которые вы, возможно, уже установили.
  2. Откройте доступ к цепочке для ключей и создайте запрос на подпись, который вы сохраните в файл (при создании запроса в вашей цепочке для ключей создается личный и открытый ключ).
  3. Создание / обновление сертификата на портале инициализации, отправив Apple этот запрос на подпись
  4. Загрузите и установите вновь созданный сертификат.
  5. Отмените ваши профили обеспечения и обновите их новым сертификатом.
  6. Загрузите и установите недавно обновленные профили обеспечения.
1 голос
/ 05 мая 2016

Вчера столкнулся с аналогичной проблемой с нашим CI-сервером. Расширение приложения не может быть подписано с ошибкой

Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.

Примечание. Я сам создал свои профили обеспечения из Портал разработчика (не управляется XCode).

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

enter image description here

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

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