xCode 4-переустановка сертификатов ключей, которые я удаляю

Я получаю эту ошибку:

ошибка CodeSign: удостоверение сертификата "разработчик iPhone: XXX" появляется больше чем один раз в связке ключей. Этот инструмент codesign требует только один.

сначала я, хотя, не волнуйтесь, я просто войду в keychain и удалю дубликат (старый), который я сделал. Я вернулся, закрыл xcode, снова открыл xcode и project, та же ошибка. wtf я думал про себя. Назад в keychain и сертификат снова там. Я удаляю оба сертификата, повторяю и замечаю, как загружается проект, два сертификата, которые я удалил, возвращаются в брелок.

после долгих поисков я убедился, что у меня нет сертификата в системном брелке, которого у меня не было. Также сделали чистку и перестроили. Когда у меня были дубликаты с xCode 3, я мог просто очистить дубликат брелка, и я был хорош. Но с xCode 4 он буквально просто переустанавливает их как-то, когда я открываю проект. Я даже удалил все .CER файлы в моей системе, что это может быть возможно, вытаскивает их оттуда.

какие предложения?

16 ответов


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


У меня была такая же проблема, и решения выше не решили мою проблему (ну почти).

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

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

убедитесь, что вы можете увидеть истекшие сертификаты в KeyChain

для этого:

  1. открыть Keychain Access
  2. клик посмотреть меню
  3. клик Показывать Просроченные Сертификаты
  4. затем найдите и удалите истекшие сертификаты разработчика

XCode 4 имеет новую функцию "автоматическая подготовка устройств". Он находится в организаторе в разделе "Профили библиотеки / подготовки". Если вы включили это, он автоматически загрузит ваши профили подготовки с сервера подготовки разработчиков apple, и таким образом вы получите ошибку наличия дубликатов. Самый простой способ исправить это-удалить все профили подготовки и нажать refresh для "автоматической подготовки устройства". Это загрузит ваши профили подготовки с сервера и исправит вашу проблему.


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

  • создайте новый брелок, назовите его "истекшим" и переместите только истекший сертификат к нему.
  • удалить недавно созданный" истекший " брелок, который содержит только истек срок действия сертификата, при запросе выберите "удалить ссылки и файлы".

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


  1. удалить все профили подготовки из Xcode Organizer;
  2. удалить старые сертификаты разработчика из Keychain Access;
  3. создание профилей подготовки только с правильным сертификатом разработчика;
  4. Загрузите и установите новые профили подготовки;

-- EDIT --

объединить ответ @Codezy и комментарий @iphone007.


удаление профилей подготовки в библиотеке организатора, кроме того, необходимо удалить сертификат разработчика iPhone в Keychain Access. (Имя сертификата, вероятно, похоже на " iPhone Developer: XXXXX ..."и обозначается красным знаком X, как истек)


Я потратил на это полдня и, наконец, нашли решение

  1. Открыть Брелок Доступа.app
  2. выберите "Система" в меню "брелки" в левой части экрана приложения Keychain
  3. выберите "сертификаты" в меню "категория" вниз
  4. удалить все старые сертификаты.

затем закройте брелок.app и перейти к Xcode - > организатор

  1. удалить все профили подготовки в библиотеке меню
  2. удалить все профили подготовки в меню устройства
  3. Нажмите кнопку" Обновить " в меню библиотеки - > профиль подготовки
  4. добавить необходимые профили на устройство

создайте снова свое приложение:)


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

  1. перед построением переместите ~/Библиотеки/Мобильных Устройств/Профилей Подготовки

Я пробовал все, что предлагалось здесь, но ничего не работало для меня, кроме переустановки XCode 4.3 волшебным образом решил дело.


нашел очень простой способ исправить это в 4.6.1. Вы можете сделать это без перезагрузки и удаление любых профилей!

с доступом к связке ключей и открытым проектом Xcode:

  1. в Xcode откройте Organizer - "устройства" и выберите "команда" с помощью дубликат сертификата.
  2. переключитесь на Keychain Access и удалите старые дубликаты сертификатов. Примечание: убедитесь, что вы включите на "показывать просроченные сертификаты", чтобы не пропустить ни одного.
  3. в сертификаты исчезнут из профиля "команда" в организаторе Xcode.
  4. очистить проект и построить.

надеюсь, что это помогает!


выше метод не работает для моего случая

наконец, я иду в keychain

и поиск ключа, введя имя

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

Это действительно неприятно , и я не знаю, является ли это ошибка ....... очень утомительно.


цитируя ответ на дубликат этого вопроса, некоторые из ошибок Xcode в этой области может быть решена только путем перезапуска OS X.

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


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


другая причина, по которой xcode продолжает устанавливать Ваш сертификат, заключается в том, что вы не удалили ключ, только сертификат. Вам нужно удалить закрытый ключ (и соответствующий открытый ключ), а также сертификат в keychain, иначе xcode переустановит сертификат.

регистрация здесь чтобы удалить сертификаты разработки и распространения из Связки ключей


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

на этот раз оказывается, что у меня было 2 сертификата, перечисленных для меня в командной учетной записи портала разработчика. Первый истек, второй-нет. Xcode продолжал захватывать первый, который он нашел во время обновления (или, возможно, оба).

Я удалил оба сертификата от брелок, затем вручную загрузил хороший с портала Apple и вручную добавил его в брелок. Теперь я могу строить снова.

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


  1. Удалить ~ / Библиотека / Разработчик / Xcode
  2. Очистить Проект

построить...