xCode 4-переустановка сертификатов ключей, которые я удаляю
Я получаю эту ошибку:
ошибка CodeSign: удостоверение сертификата "разработчик iPhone: XXX" появляется больше чем один раз в связке ключей. Этот инструмент codesign требует только один.
сначала я, хотя, не волнуйтесь, я просто войду в keychain и удалю дубликат (старый), который я сделал. Я вернулся, закрыл xcode, снова открыл xcode и project, та же ошибка. wtf я думал про себя. Назад в keychain и сертификат снова там. Я удаляю оба сертификата, повторяю и замечаю, как загружается проект, два сертификата, которые я удалил, возвращаются в брелок.
после долгих поисков я убедился, что у меня нет сертификата в системном брелке, которого у меня не было. Также сделали чистку и перестроили. Когда у меня были дубликаты с xCode 3, я мог просто очистить дубликат брелка, и я был хорош. Но с xCode 4 он буквально просто переустанавливает их как-то, когда я открываю проект. Я даже удалил все .CER файлы в моей системе, что это может быть возможно, вытаскивает их оттуда.
какие предложения?
16 ответов
решение состояло в том, чтобы войти в organizer - под профилями подготовки библиотеки, удалить все из них, а затем переустановить любые профили, которые мне еще нужны.
У меня была такая же проблема, и решения выше не решили мою проблему (ну почти).
У меня был тот же дубликат идентификатора разработчика/сертификата, на который все жалуются, и я попытался удалить все мои профили, отозвать/переиздать мой сертификат, убедившись, что в системном брелке нет ни одного, перезапуск и т. д.
в конце концов оказалось там был сертификат в системном брелке, который имел истек и так было скрыто по умолчанию в списке.
убедитесь, что вы можете увидеть истекшие сертификаты в KeyChain
для этого:
- открыть Keychain Access
- клик посмотреть меню
- клик Показывать Просроченные Сертификаты
- затем найдите и удалите истекшие сертификаты разработчика
XCode 4 имеет новую функцию "автоматическая подготовка устройств". Он находится в организаторе в разделе "Профили библиотеки / подготовки". Если вы включили это, он автоматически загрузит ваши профили подготовки с сервера подготовки разработчиков apple, и таким образом вы получите ошибку наличия дубликатов. Самый простой способ исправить это-удалить все профили подготовки и нажать refresh для "автоматической подготовки устройства". Это загрузит ваши профили подготовки с сервера и исправит вашу проблему.
Если вы хотите возиться с keychain access, чтобы удалить истекший сертификат, вы можете попробовать следующее:
- создайте новый брелок, назовите его "истекшим" и переместите только истекший сертификат к нему.
- удалить недавно созданный" истекший " брелок, который содержит только истек срок действия сертификата, при запросе выберите "удалить ссылки и файлы".
просроченный сертификат исчезает вместе с брелком. работал идеально для меня.
- удалить все профили подготовки из Xcode Organizer;
- удалить старые сертификаты разработчика из Keychain Access;
- создание профилей подготовки только с правильным сертификатом разработчика;
- Загрузите и установите новые профили подготовки;
-- EDIT --
объединить ответ @Codezy и комментарий @iphone007.
удаление профилей подготовки в библиотеке организатора, кроме того, необходимо удалить сертификат разработчика iPhone в Keychain Access. (Имя сертификата, вероятно, похоже на " iPhone Developer: XXXXX ..."и обозначается красным знаком X, как истек)
Я потратил на это полдня и, наконец, нашли решение
- Открыть Брелок Доступа.app
- выберите "Система" в меню "брелки" в левой части экрана приложения Keychain
- выберите "сертификаты" в меню "категория" вниз
- удалить все старые сертификаты.
затем закройте брелок.app и перейти к Xcode - > организатор
- удалить все профили подготовки в библиотеке меню
- удалить все профили подготовки в меню устройства
- Нажмите кнопку" Обновить " в меню библиотеки - > профиль подготовки
- добавить необходимые профили на устройство
создайте снова свое приложение:)
для потомков, вот стратегия, чтобы обойти эту проблему, в наш автоматизированный сборочный скрипт:
- перед построением переместите ~/Библиотеки/Мобильных Устройств/Профилей Подготовки
Я пробовал все, что предлагалось здесь, но ничего не работало для меня, кроме переустановки XCode 4.3 волшебным образом решил дело.
нашел очень простой способ исправить это в 4.6.1. Вы можете сделать это без перезагрузки и удаление любых профилей!
с доступом к связке ключей и открытым проектом Xcode:
- в Xcode откройте Organizer - "устройства" и выберите "команда" с помощью дубликат сертификата.
- переключитесь на Keychain Access и удалите старые дубликаты сертификатов. Примечание: убедитесь, что вы включите на "показывать просроченные сертификаты", чтобы не пропустить ни одного.
- в сертификаты исчезнут из профиля "команда" в организаторе Xcode.
- очистить проект и построить.
надеюсь, что это помогает!
выше метод не работает для моего случая
наконец, я иду в keychain
и поиск ключа, введя имя
Я наконец нашел сертификат, который должен быть удален перед . потом я удалил его и проблема решена
Это действительно неприятно , и я не знаю, является ли это ошибка ....... очень утомительно.
цитируя ответ на дубликат этого вопроса, некоторые из ошибок Xcode в этой области может быть решена только путем перезапуска OS X.
в конце концов, я добился успеха, удалив все, что упоминается в любом из ответов на этот вопрос, перезапустив, а затем вручную установив необходимые мне части (я не доверял/попробовал функцию автоматической загрузки профиля/сертификата).
Как бы то ни было, @AndreasPrang, ваш ответ сработал, когда все вышеперечисленное не сработало. Я видел, что истекший сертификат не был нигде в связке ключей, но когда я сделал сборку, Xcode сказал, что это было. Удаление профилей подготовки (всех), выбор моего имени в разделе Команда и щелчок значка обновить в правом нижнем углу организатора также не помогли. Перезапуск Xcode не помог, но закрытие XCode, удаление ~/Library/Developer / Xcode сделали. Когда я перезапустил XCode, он перестроил все и был счастлив.
другая причина, по которой xcode продолжает устанавливать Ваш сертификат, заключается в том, что вы не удалили ключ, только сертификат. Вам нужно удалить закрытый ключ (и соответствующий открытый ключ), а также сертификат в keychain, иначе xcode переустановит сертификат.
регистрация здесь чтобы удалить сертификаты разработки и распространения из Связки ключей
просто установил Xcode 4.6.1 и снова начал эту проблему. Последний раз это было давно. Я удалил старые профили подготовки и сертификаты,но все равно не смог построить.
на этот раз оказывается, что у меня было 2 сертификата, перечисленных для меня в командной учетной записи портала разработчика. Первый истек, второй-нет. Xcode продолжал захватывать первый, который он нашел во время обновления (или, возможно, оба).
Я удалил оба сертификата от брелок, затем вручную загрузил хороший с портала Apple и вручную добавил его в брелок. Теперь я могу строить снова.
(и я отправил запрос администратору команды, чтобы удалить старый сертификат.)