Неоднозначные совпадения в разработчике iphone между System.keychain и login.keychain

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

Под доступом к keychain есть логин и система, и у обоих есть iPhone-разработчик: myName. Я полагаю, чтобы удалить один из них? Какой я должен удалить? Входной или системный?

Спасибо!

Ответ 1

Большинство ответов скажут вам, что у вас есть дубликат сертификата. Это верно для моего случая, но ответы не учли, как это сделать.

Для меня моя учетная запись истекла, и мне нужно получить новый сертификат и установить его. Затем я посмотрел на Keychain и удалил истекший сертификат, но все еще получил ошибку. Что для меня работает, это поиск "iPhone" в Keychain и удаление всех истекших сертификатов. По-видимому, некоторые из них не отображаются в System/Certificates или login/Certificates.

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

Ответ 2

Иногда дубликат сертификата f.e. в системе не отображается в Keychain Access. Просто выполните следующие действия: перейдите в "Просмотр" → "Показать истек" (или тому подобное), и должен быть показан дубликат. Сделал это для меня:)

Ответ 3

В моем случае я столкнулся при построении для инъекции forxcode.

Посмотрел на Run Script, и он имеет /usr/bin/codesign --force --sign "iPhone Developer". Поскольку у меня несколько учетных записей, "iPhone Developer" был изменен на конкретный, например. "Разработчик iPhone: samwize"

Я предполагаю, что любой script running codesign может работать в одной и той же ситуации и потребовать эту настройку.