Ответ 1
Решение заключалось в том, чтобы войти в организатор - в соответствии с профилями профилей библиотеки, удалить все из них и затем переустановить любые профили, которые мне по-прежнему нужны.
Я получаю эту ошибку:
Ошибка CodeSign: идентификатор сертификата "Разработчик iPhone: XXX" появляется больше чем один раз в брелок. Инструмент "Кодикс" требует, чтобы один.
Сначала я, однако, не беспокоюсь, я просто зайду в брелок и удалю дубликат (более старый), который я сделал. Я вернулся, закрыл xcode, снова открыл xcode и проект, ту же ошибку. Я даже для себя. Вернитесь в цепочку ключей и сертификат снова. Я удаляю оба сертификата, повторяю и уведомляю, когда проект загружается, два сертификата, которые я удалил, снова попали в цепочку ключей.
После долгих поисков я убедился, что у меня не было сертификата в системном брелках, которого я не знал. Также сделал чистый и перестроенный. Когда у меня были дубликаты с xCode 3, я мог просто очистить дубликат связки ключей, и я был хорош. Но с xCode 4 он буквально просто переустанавливает их, когда я открываю проект. Я даже удалил все .cer файлы в моей системе, из-за которых вы могли бы их вытащить.
Любые предложения?
Решение заключалось в том, чтобы войти в организатор - в соответствии с профилями профилей библиотеки, удалить все из них и затем переустановить любые профили, которые мне по-прежнему нужны.
У меня была такая же проблема, и вышеприведенные решения не решили мою проблему (ну почти).
У меня был тот же дублирующий идентификатор/сертификат разработчика, о котором все жалуются, и я попытался удалить все мои профили, отменить/переиздать мой сертификат, убедившись, что в системной цепочке ключей, перезапуске и т.д. их не было.
В итоге оказалось, что был сертификатом в системной цепочке ключей, с expired и поэтому был скрыт по умолчанию в списке.
Убедитесь, что вы видите сертификаты с истекшим сроком действия в KeyChain
Для этого:
XCode 4 имеет новую функцию "Автоматическое предоставление устройств". Он расположен в организаторе в профилях библиотеки/профилей. Если вы включили эту функцию, она автоматически загрузит ваши профили обеспечения с сервера подготовки разработчиков Apple, и вы получите ошибку дублирования. Самый простой способ исправить это - удалить все профили подготовки и нажать "Обновить" для "Автоматическое предоставление устройств". Это загрузит ваши профили обеспечения с сервера и устранит вашу проблему.
если вы хотите использовать доступ к цепочке ключей для удаления сертификата с истекшим сроком действия, вы можете попробовать следующее:
сертификат с истекшим сроком действия исчезает вместе с цепочкой ключей. отлично работал у меня.
- EDIT -
Объединить ответ @Codezy и комментарий @iphone007.
Удаление профилей подготовки в библиотеке Organizer, кроме того, вы должны удалить сертификат разработчика iPhone в Keychain Access. (Название сертификата, вероятно, похоже на "iPhone Developer: XXXXX..." и указано красным значком X, срок действия которого истек)
Я потратил на это полдня и наконец нашел решение
Затем закройте Keychain.app и перейдите к Xcode → Organizer
Снова создайте приложение:)
Для потомков, здесь стратегия, чтобы обойти эту проблему в нашей автоматической сборке script:
Я пробовал все предлагаемое здесь, но ничего не работало для меня, кроме повторного внедрения XCode 4.3, волшебным образом разрешившего дело.
Выяснил очень простой способ исправить это в 4.6.1. Вы можете сделать это без перезапуска или удаления каких-либо профилей!
При использовании Keychain Access и вашего проекта Xcode:
Надеюсь, что это поможет!
вышеуказанный метод не работает для моего случая
наконец, я иду на брелок
и найдите ключ, введя имя
Наконец, я нашел сертификат, который должен быть удален ранее. то я удалил его, и проблема была решена.
Это действительно расстраивает, и я не знаю, действительно ли это ошибка... действительно утомительная.
Цитируя ответ на дубликат этого вопроса, некоторые ошибки Xcode в этой области могут быть решены только путем перезапуска OS X.
В конце концов, я добился успеха, удалив все, упомянутое в любом из ответов на этот вопрос, перезапустив, а затем вручную установив нужные мне части (я не доверял/не пытался использовать функцию автоматического загрузки профиля/сертификата).
Для чего это стоит @AndreasPrang, ваш ответ работал, когда все вышеизложенное не было. Я мог видеть, что сертификат с истекшим сроком не был в цепочке ключей, но когда я сделал сборку, Xcode сказал, что это так. Удаление профилей подготовки (все из них), выбор моего имени в разделе "Команда" и щелчок на значке обновления в нижнем правом углу организатора также не помогли. Перезапуск Xcode не помог, но отключил XCode, удалив файл ~/Library/Developer/Xcode. Когда я перезапустил XCode, он перестроил все и был счастлив.
Другая причина, по которой xcode продолжает устанавливать ваш сертификат, заключается в том, что вы не удаляли ключ, а только сертификат. Вам нужно удалить закрытый ключ (и соответствующий открытый ключ), а также сертификат в цепочке ключей, иначе xcode переустановит сертификат.
Отметьте Чтобы удалить сертификаты разработки и распространения из вашей связки ключей
Только что установил Xcode 4.6.1 и снова начал эту проблему. В последний раз прошло много времени. Я удалил старые профили подготовки и сертификаты, но все равно не смог их построить.
На этот раз выясняется, что у меня было два сертификата, которые были указаны для меня в учетной записи команды портала разработчика. Первый был истек, второй - нет. Xcode продолжал захватывать первую найденную во время обновления (или, возможно, и то, и другое).
Я удалил оба сертификата из keychain, затем вручную загрузил хороший файл с портала Apple и вручную добавил его в цепочку ключей. Теперь я могу построить снова.
(И я отправил администратору команды запрос на удаление старого сертификата.)
построить...