Ошибка кодового знака: идентификатор сертификата появляется более одного раза в цепочке ключей

Возможный дубликат:
Ошибка кодового знака: идентификатор сертификата "iPhone Developer: My Name (xxx)" появляется более одного раза в цепочке ключей

У нас есть две разные аккаунты разработчиков (одна для магазина и одна для предприятия). Учетная запись предприятия появилась позже. Длинная история

Они управляются под двумя разными почтовыми/учетными записями.

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

Это отдельные сертификаты с разными секретными ключами, поэтому я не понимаю, почему они не могут сосуществовать, и почему XCode не может отличить их.

Есть ли способ, которым я могу иметь две разные цели в XCode с этими разными профилями сертификации/обеспечения?

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

Ответ 1

Вот что сработало для меня на Lion ver. 10.7.3 с XCode 4.3.1 и намного менее болезненным, чем откат до 4.2!

В Keychain Access убедитесь, что в меню "Просмотр" > "Показать устаревшие сертификаты" включен.

Нажмите "Сертификаты" "Категория", а затем щелкните по каждой из цепочек ключей, которые вы указали на боковой панели "Брелок" в разделе "Доступ к ключам". Если вы видите дубликаты, даже истекшие сертификаты, удалите эти дубликаты.

Нажмите "Ключи" "Категория" в доступе к цепочке ключей.

Перейдите по каждой цепочке ключей, которая ищет и удаляет любые "осиротевшие ключи", которые имеют одинаковое общее имя в качестве затронутого сертификата. Сиротные ключи - это те, которые не связаны треугольником раскрытия с сертификатом разработчика iPhone или iPhone, который в настоящее время существует в цепочке ключей.

Если вы обнаружили и удалили лишние ключи или сертификаты, повторите попытку сборки.

Это сработало для меня после этого момента, но в том числе части, приведенные ниже от Apple, в случае, если это не сработает для вас.

Если проблема удаляется после удаления всех активных или устаревших дубликатов сертификатов или ключей одним и тем же общим именем, вы можете попробовать удалить все существующие сертификаты подписи и ключи и заменить их новыми, используя шаги в разделе Как удалить или отменить мой сертификаты и начать с нуля?

Наконец, если ошибка сохраняется даже после создания новых сертификатов, нажмите контрольный щелчок на зараженном сертификате в Keychain Access, выберите "New Identity Preference" и нажмите "Сертификат".

Если вы видите дубликаты сертификатов, перечисленных здесь, это известная и необычная проблема с Keychain Access.

Чтобы устранить проблему, попробуйте выполнить следующее: Экспортируйте свой профиль разработчика, используя процесс "Перенос ваших удостоверений". Создайте новую учетную запись пользователя OS X, установите Xcode для нового пользователя и импортируйте профиль разработчика, созданный на предыдущем шаге.

Ответ 2

То же самое для меня. После обновления сертификатов (разработка и распространение)

Чтобы решить проблему, перейдите к инструменту keychain и выполните следующие шаги.

  • Просмотр → Показать истекшие сертификаты
  • Выберите KeyChain System
  • Выбрать категорию Все элементы

Вы должны увидеть, что некоторые сертификаты истекли, просто удалите его и перестройте.

надеюсь, поможет