Ошибка кодового знака: идентификатор сертификата "iPhone Developer: My Name (xxx)" появляется более одного раза в цепочке ключей
Я застрял в этой ошибке:
Ошибка кодового знака: идентификатор сертификата "iPhone Developer: My Name (xxx)" появляется более одного раза в цепочке ключей. Инструмент codeign требует наличия только одного.
Я пытаюсь обновить сборку нового CSR, удалить старый сертификат, создать новый, снова и снова и снова, и эта ошибка все еще присутствует
в цепочке ключей Я не вижу дублированный сертификат, и если я удалю только один, который я вижу в цепочке ключей, Xcode жалуется, что сертификат не может быть найден...
Ответы
Ответ 1
Xcode 4.3 теперь ищет все связки ключей для подписания сертификатов, но это увеличивает частоту ошибки сборки:
Идентификатор сертификата (x) появляется более одного раза в цепочке ключей...
Действия Apple по его устранению:
" Как устранить ошибку CodeSign: идентификатор сертификата появляется более одного раза в цепочке ключей?"
Однако, если вы затронуты ошибкой в цепочке ключей, упомянутой в последней заметке этого руководства, ниже приведено более простое и предпочтительное решение проблемы:
1) Доступ к брелокам > Правкa > Список связок ключей, снимите флажок "Общий" для брелка для входа.
2) Затем, если вы вернетесь в список ключей, вы обнаружите, что логин-логин по-прежнему отмечен как Shared, создайте резервную копию следующих файлов, а затем удалите их, если они существуют:
/Library/Preferences/com.apple.security-common.plist
~/Library/Preferences/com.apple.security.plist
3) Повторите попытку сборки.
Ответ 2
У меня была такая же проблема после обновления XCode до 4.3. Удаление сертификатов и профилей подготовки ничего не изменило. В любом случае дубликатов или истекших не было.
Оказалось, что проблема заключалась в том, что мой личный ключ находился как в сеансе, так и в системных цепочках ключей в доступе к цепочке ключей.
Мне просто пришлось удалить его из системного брелка, и я мог бы снова создавать проекты.
Ответ 3
У меня была такая же проблема, и я исправил ее удаление каждого сертификата из моей связки ключей, каждого обеспечения из моего Xcode и каждого профиля подготовки с моего устройства, а затем... снова переделал его.
Я предполагаю, что это нормально, когда вы работаете с разными профилями, и вы создали много сертификатов для одного и того же обеспечения.
Ответ 4
У меня была такая же проблема. Я думаю, вы можете добраться до этого состояния разными способами, но для меня это произошло потому, что сертификат недавно истек.
Я не понял, что Keychain Access скроет истекшие сертификаты. Перейдите в раздел "Просмотр" и убедитесь, что вы не скрываете дублирующий сертификат.
Ответ 5
Если вы уже удалили все остальные сертификаты разработчика в своем KeyChain, и ошибка все еще возникает, попробуйте удалить все старые/неиспользуемые ключи (закрытый ключ) с вашим именем. Единственное, что необходимо, - это тот, у которого есть маленькая "icon-enhancer-icon" рядом с его именем. Сохранение этого и удаление остальных исправили его для меня.
Ответ 6
У меня была та же проблема. Я проверил каждый связанный с ним вопрос, который я смог найти на SO, и последовал за его шагами - но не повезло. Он продолжал говорить мне, что мой дистрибьюторский сертификат появился не один раз, но я мог видеть, что он появился только один раз. Я неоднократно отозвал сертификаты и закрыл X-Code, но оказалось, что существует "скрытый" сертификат. У меня был старший сертификат распространения, который не был в цепочке логина. Это было в неназванном брелка. Когда я удалил этот, он сработает! Так что стоит взглянуть на доступ к keychain полностью!
Ответ 7
После перехода на новую версию mac, у меня возникла эта проблема. Я попытался удалить дубликаты и проверить, что не было скрытых истекших, но ошибка сохранялась. Решение, которое сработало для меня, заключалось в том, чтобы скопировать пару keychain из старого mac и импортировать его в новый Mac. Затем проблема была решена следующим образом:
- выберите сертификат в Access Keychain Access
- Разверните стрелку, чтобы увидеть закрытый ключ
- Дважды щелкните закрытый ключ
- Нажмите "Контроль доступа"
- Выберите "Разрешить всем приложениям использовать этот элемент"
- Нажмите "Сохранить изменения"
Для меня я смог успешно восстановить приложение.
Надеюсь, что кто-то помог: -)
Ответ 8
Это иногда работает для меня:
- Удалите все дубликаты, которые вы видите из брелка (обычно этот шаг сам по себе не помогает мне)
- Затем также удалите (или, по крайней мере, временно переименовать/переместить папку/Library/Разработчик/Xcode. Xcode хранит там старый дерьмо/кеш. Я предполагаю, что существуют профайлы. Waste em. (Обратите внимание, что путь к этой папке изменяемые в префиксах Xcode, поэтому, если вы изменили путь, перейдите туда и удалите ненужные файлы.)
Затем перестройте. Работал для меня в эту минуту после получения этой ошибки в миллионный раз.
Ответ 9
Попробуйте удалить сертификаты из организатора xcode.
Ответ 10
Решение:
В цепочке ключей:
Ive обнаружил, что если вы переключитесь на представление "Все элементы", с левой стороны, удаление, похоже, будет работать каждый раз. Но, возможно, это была просто слепая удача. Даже если он терпит неудачу, действие переключения между "Всеми элементами" и "Мои сертификаты", похоже, заставляет KA обновлять представление и сообщает вам, что удаление еще "работает":
ссылка:
http://viggnesh.com/blog/problem-faced/
Ответ 11
У меня была эта проблема с XCODE 4.5, потому что Организатор все еще держал сертификаты разработчика.
- Удалены все профили подготовки из Organizer
- Удалены все сертификаты разработчика из KeyChain. Также покажите истекший список.
- Закрыть XCode
- Загрузить сертификат разработчика
- Установить профили Provisioning
- Очистить сборку
- Проверьте список сертификатов органайзера и убедитесь, что у вас есть
- Проверьте брелок, чтобы убедиться, что у вас есть один сертификат.
- Архив
Ответ 12
Исправлено это с помощью Organizer → Teams (выберите вашу команду) → Обновить (в правом нижнем углу).
Ответ 13
Я удалил все сертификаты и профили подготовки и перезапустил систему и добавил ее снова, она сработала.
Ответ 14
Просто переместите другого царя. от "login" до "system"... и не удаляйте его...
Поверьте мне