Ошибка подписи кода: идентификатор сертификата «Разработчик iPhone: Мое имя (xxx)» появляется в цепочке для ключей более одного раза

Я застрял с этой ошибкой:

Ошибка подписи кода: идентификатор сертификата «Разработчик iPhone: Мое имя (xxx)» появляется в цепочке для ключей более одного раза. Инструмент кодового оформления требует, чтобы был только один.

Я пытаюсь обновить сборку нового CSR, удалить старый сертификат, построить новый, снова и снова, и эта ошибка все еще присутствует

в цепочке для ключей я не вижу дублированного сертификата, и если я удалю единственный, который я вижу в цепочке для ключей, Xcode жалуется, что сертификат не может быть найден ...


person Nico AD    schedule 20.02.2012    source источник
comment
(в качестве поправки к ответу Индера Кумара) И затем нажмите «Обновить». Также не смотрите только в связку ключей вашего компьютера разработчика - посмотрите, что хранится на вашем устройстве (в органайзере Xcode), и очистите его.   -  person Rok Jarc    schedule 20.02.2012


Ответы (14)


Xcode 4.3 теперь ищет все связки ключей для подписи сертификатов, но это увеличивает частоту ошибки сборки:

Удостоверение сертификата (x) появляется в связке ключей более одного раза ...

Действия Apple по ее устранению: "Как устранить ошибку CodeSign: удостоверение сертификата появляется в цепочке для ключей более одного раза? "

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

1) Доступ к связке ключей> Правка> Список связки ключей, снимите флажок «Общий доступ» для связки ключей входа.

2) затем, ЕСЛИ вернувшись в список связки ключей, вы обнаружите, что связка ключей входа по-прежнему помечена как общая, создайте резервную копию следующих файлов и затем удалите их, если они существуют:

/Library/Preferences/com.apple.security-common.plist
~/Library/Preferences/com.apple.security.plist

3) Повторите сборку.

person Bobjt    schedule 24.02.2012
comment
Служба поддержки Apple уже предложила мне шаги 1 и 2, не работают, я попробую 3 и 4 в понедельник, и да, я использую XCode 4.3 - person Nico AD; 26.02.2012
comment
Удаление потерянных ключей из упомянутого выше документа Apple помогло мне. - person Josh Metcalfe; 13.11.2012
comment
Я обнаружил, что после удаления сертификата в системе «Связка ключей» ›он все еще находится в категории« Вход ». После того, как я удалил его из "Логина", все работает как шарм! Спасибо, чувак, ты спас мне день. - person aztack; 07.08.2013

У меня была такая же проблема после обновления XCode до 4.3. Удаление сертификатов и профилей обеспечения ничего не изменило. Все равно дубликатов и просроченных не было.

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

person Hadrien Pezier    schedule 21.02.2012
comment
Спасибо, это было самым полезным, потому что я совершенно забыл посмотреть на системную связку ключей, которая вызвала у меня проблему. Спасибо! - person David Rutgos; 07.06.2012

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

person TurboManolo    schedule 20.02.2012

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

person elaydin    schedule 28.02.2012

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

person matthisb    schedule 25.04.2013

У меня такая же проблема. Я проверил все связанные вопросы, которые мог найти на SO, и выполнил шаги, но безуспешно. Он все время говорил мне, что мой сертификат распространения появлялся более одного раза, но я мог видеть, что он появлялся только один раз. Я много раз отозвал сертификаты и закрыл X-Code, но оказалось, что это «скрытый» сертификат. У меня был старый сертификат распространения, которого не было в цепочке ключей для входа. Он был в неназванном брелке. Когда я удалил тот, все заработало! Так что стоит внимательно осмотреть доступ к брелку!

person Shane Rayner    schedule 14.04.2012

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

  • выберите сертификат в Keychain Access
  • Разверните стрелку, чтобы увидеть закрытый ключ
  • Дважды щелкните закрытый ключ
  • Нажмите Контроль доступа
  • Выберите "Разрешить всем приложениям использовать этот элемент".
  • Нажмите "Сохранить изменения".

Что касается меня, то я смог успешно перестроить приложение.

Надеюсь, это кому-то поможет :-)

person JanB    schedule 13.08.2012

Иногда это срабатывает для меня:

  • Удалите все дубликаты, которые вы видите на связке ключей (обычно этот шаг сам по себе мне не помогает)
  • Затем также удалите (или, по крайней мере, временно переименуйте / переместите папку ~ / Library / Developer / Xcode. Xcode хранит там старую хрень / кеш. Я предполагаю, что профили существуют. Выбросьте их. (Обратите внимание, что путь к этой папке можно изменить в Xcode prefs, поэтому, если вы изменили путь, идите туда и вместо этого удалите материал.)

Затем восстановите. Сработало у меня в эту минуту после того, как я получил эту ошибку в миллионный раз.

person Jonny    schedule 23.08.2012

Попробуйте удалить сертификаты из органайзера xcode.

person Inder Kumar Rathore    schedule 20.02.2012
comment
А затем нажмите «Обновить». Также не смотрите только в связку ключей вашего компьютера разработчика - посмотрите, что хранится на вашем устройстве (в органайзере Xcode), и очистите его. - person Rok Jarc; 20.02.2012
comment
@rokjarc, пожалуйста, прокомментируйте его вопрос, чтобы он получил уведомление .. Спасибо - person Inder Kumar Rathore; 20.02.2012
comment
сертификат в органайзере? где ? Я вижу только профили обеспечения в органайзере. и я уже сделал всю возможную очистку на устройстве (присутствует только один профиль) - person Nico AD; 20.02.2012
comment
затем очистите все свои сертификаты от цепочки ключей и удалите все моб pov из xcode org. и устанавливайте только те вещи, которые необходимы, и если все еще возникают проблемы, извините, я не могу помочь. - person Inder Kumar Rathore; 20.02.2012

Решение:

В связке ключей: я обнаружил, что если вы переключитесь на представление «Все элементы» слева, удаление будет работать каждый раз. Но, может быть, это просто слепая удача. Даже если это не удается, переключение между «Все элементы» и «Мои сертификаты» заставляет KA обновлять представление и сообщает вам, «сработало» ли удаление:

ссылка на сайт:

http://viggnesh.com/blog/problem-faced/

person Viggnesh    schedule 03.08.2012

У меня была эта проблема с XCODE 4.5, потому что Организатор все еще хранил сертификаты разработчика.

  • Удалены все профили обеспечения из Организатора
  • Удалены все сертификаты разработчиков из KeyChain - также показать просроченный список
  • Закройте XCode
  • Скачать сертификат разработчика
  • Установить профили обеспечения
  • Чистая сборка
  • Проверьте список сертификатов организатора и убедитесь, что он у вас есть
  • Проверьте Связку ключей, чтобы убедиться, что у вас есть один сертификат.
  • Архив
person Omer Cansizoglu    schedule 25.10.2012

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

person Uladzimir    schedule 10.04.2013

Я удалил все сертификаты и профили обеспечения, перезапустил систему и снова добавил, все сработало.

person Sanoj    schedule 13.08.2013

Просто переместите другой cer. от "логина" к "системе" ... и не удаляйте его ... Поверьте мне

person Hatim    schedule 11.09.2013