Когда я получил эту ошибку, я проверил в своем окне организатора и обнаружил дубликат идентификатора в моем имени. Я попытался удалить дублирующийся идентификатор в моем окне органайзера. Но я не могу выбрать или удалить его. Пожалуйста, помогите мне удалить этот дубликат.
Я получаю идентификатор сертификата ошибки более одного раза в цепочке ключей
Ответ 1
Ваш сертификат хранится в вашей цепочке ключей. Просто откройте брелок и найдите дубликат, а затем перезапустите XCode.
Ответ 2
Я столкнулся с проблемой, когда старый сертификат продолжает появляться, даже я удаляю его в KeyChain Access. Решение состоит в удалении всех профилей подготовки, которые используют старый сертификат из организатора XCode.
Ответ 3
Откройте доступ к брелокам. Под рубрикой в нижней левой части панели вы должны выбрать "Мои сертификаты", На главной панели вы увидите дубликат сертификата. Если он недействителен, на нем будет красный X. Удалите его, перезапустите Xcode, и вам будет хорошо.
Ответ 4
В программе "Доступ к брелокам" в меню "Вид" выберите "Показать истекшие сертификаты" (если в пункте меню указано "Скрыть сертификаты с истекшим сроком действия", то вы уже показываете их). Затем проверьте каждую цепочку ключей в списке слева для дубликата сертификата. Кроме того, для каждого ключевого слова обязательно смотрите под "Сертификаты" и "Мои сертификаты" (если есть).
Ответ 5
Xcode 4.3 теперь ищет все связки ключей для подписания сертификатов, но это увеличивает частоту ошибки сборки:
Идентификатор сертификата (x) появляется более одного раза в цепочке ключей...
Действия Apple по его устранению: " Как разрешить ошибку CodeSign: идентификатор сертификата появляется более одного раза в цепочке ключей?"
Однако, если вы затронуты ошибкой в цепочке ключей, упомянутой в последней заметке этого руководства, ниже приведено более простое и предпочтительное решение проблемы:
1) Доступ к брелокам > Правкa > Список связок ключей, снимите флажок "Общий" для брелка для входа.
2) Затем, если вы вернетесь в список ключей, вы обнаружите, что логин-логин по-прежнему отмечен как Shared, создайте резервную копию следующих файлов, а затем удалите их, если они существуют:
/Library/Preferences/com.apple.security-common.plist
~/Library/Preferences/com.apple.security.plist
3) Повторите попытку сборки.
Ответ 6
После обновления до XCode 4.3 у меня была эта точная проблема. Процесс сборки не сработал, и в KeyChain Access я был уверен, что у меня только один сертификат разработки. В сети не было никакой помощи в том, как ее решить, но мне удалось обойти это следующим способом. Обратите внимание, что я не знаю, будет ли это работать на старой версии Xcode, но лучше всего просто позволить Xcode заботиться обо всем процессе.
Прежде всего, нужно проверить, действительно ли у вас есть дубликаты сертификатов.
Откройте терминал и введите следующую команду:
sudo /usr/bin/security find-certificate -a -Z -c "iPhone Developer" | grep SHA-1
Если вы видите несколько одинаковых хэшей SHA-1, у вас есть дубликаты, и нам нужно их удалить.
В KeyChain Access (я не проверял это, но этот шаг может и не понадобиться):
- Создайте новый KeyChain - я назвал my login-new
- Выберите новую цепочку ключей на панели "Связки ключей".
- Go File- > Make keychain "login-new" default
В XCode Organizer:
- На панели "Устройства" удалите все профили подготовки
В портале обеспечения разработчиков:
- Отменить сертификаты разработки и распространения
Вернуться к XCode Organizer:
- У вас должен быть пустой список профилей подготовки
- Нажмите кнопку "Обновить"
- XCode предложит вам войти в свою учетную запись разработчика, и затем спросит вас, хотите ли вы генерировать как сертификаты разработки, так и распространения, поскольку они не могут найти их.
- Продолжить и сгенерировать их.
Вернитесь в терминал и снова введите команду find-certificate сверху. Вы не должны на данный момент видеть дубликаты.
Следующий шаг - исправить профили обеспечения. Поэтому перейдите на портал обеспечения и измените каждый профиль. Вернитесь назад к организатору Xcode и нажмите кнопку обновления.
После появления профилей вам необходимо повторно связать идентификаторы подписи кода в настройках сборки, чтобы убедиться, что вы не получили ошибку подписи кода.
Теперь ваше приложение должно создавать и запускаться на вашем устройстве.
Ответ 7
В моем случае я попытался взглянуть только на логин. Когда я открыл Системные брелки, я обнаружил, что существует старый (истекший) сертификат, и он был дублирован. После удаления дублированного сертификата все работало нормально.
Ответ 8
Имела ту же проблему, но удаление устаревшего сертификата было бесполезным, оно появилось снова в момент запуска Xcode!
В Keychain Access, в самой левой панели, под категорией есть "Мои сертификаты", но также и другая запись: "Сертификаты". Я удалил сертификат из "Мои сертификаты", но не смотрел "Сертификаты". Удаление (с истекшим) сертификата из "Сертификатов" тоже решило его для меня.
Ответ 9
Если вы все еще не работаете для вас после удаления сертификата, попробуйте сделать Product > Clean
. В моем случае это было необходимо даже после перезапуска системы.
Ответ 10
Я продолжаю получать эту ошибку, даже после удаления дубликата. Наконец я сделал следующее:
- Откройте Keychain Access и удалите дубликат сертификата (просто держите
последний) из раздела
My Certificates
иCertificates
- Переходите к ключам и проверяйте наличие закрытого ключа там без открытого ключа, если да, удалите его.
- Затем перезапустите Xcode.
Это исправляет мою проблему.
Ответ 11
в моем случае скрытым истекшим сертификатом был дубликат. Выше подсказки оказались полезными!