Ошибка Xcode 7: «Отсутствует удостоверение подписи дистрибутива iOS для…»


837

Я пытался загрузить свое приложение в iTunes Connect соответственно. AppStore и получил следующую ошибку:

Не удалось найти или создать соответствующие подписывающие активы

Xcode попытался найти или сгенерировать соответствующие подписывающие активы и не смог сделать это из-за следующих проблем.

Отсутствует удостоверение подписи дистрибутива iOS для ... Xcode может запросить один для вас.

Прежде, чем я установил новую машину разработки, экспортировал учетные записи разработчика через Xcode 7 от старой до новой машины.

Что я могу сделать, чтобы это исправить?


Вам также необходимо иметь профиль распространения и сертификаты вместе с его ключами для создания IPA (даже с профилем разработчика)
— Bhumit Mehta

1
С новым импортом импорта учетной записи разработчика Xcode 7 также экспортируются профили и сертификаты. В моем случае мне нужно было дополнительно передать сертификат «
— Центр

1
@Awsed вы можете найти детали процесса для Сертификатов и Профиля в Документации Apple . Это было бы полезно.
— Дипен Панчасара

Ответы:


1949

От Apple -

Спасибо за то, что вы обратили на это внимание сообщества и приносим извинения за проблемы, с которыми вы столкнулись. Эта проблема связана с наличием копии просроченного промежуточного сертификата WWDR в цепочках ключей вашей системы и входа в систему. Чтобы решить эту проблему, вы должны сначала загрузить и установить новый промежуточный сертификат WWDR (дважды щелкнув по файлу). Далее в приложении Keychain Access выберите Системную цепочку для ключей. Убедитесь, что в меню «Вид» выбрано «Показать сертификаты с истекшим сроком действия», а затем удалите просроченную версию промежуточного сертификата центра сертификации по связям с разработчиками Apple (срок действия которого истек 14 февраля 2016 г.). Ваши сертификаты должны теперь появиться как действительные в Доступе Цепочки для ключей и быть доступными для XCode для представлений в Магазин приложений.

Как отмечено в комментарии ниже, просроченный сертификат также необходимо удалить из loginраздела:

Ко всему, что не может заставить его работать, несмотря на инструкции ... Есть два истекших сертификата WWDR. Один находится в связке ключей входа, а другой - в Системе. Вы должны удалить их обоих, чтобы все заработало


63
Я думаю, что это был лучший ответ, потому что он включал инструкции по удалению просроченного сертификата. Весь этот вопрос - Cray Cray.
— Чад Павлиска

12
Это случалось каждые два года; Многие приложения перестают работать на Mac, пока пользователь не перезапустит их Mac. Конечно, они будут винить вас. По крайней мере, новый сертификат не истекает до 2023 года.
— Тибидабо

4
Спасибо, мой друг! Если он не работает: вы уверены, что добавили новый? Мне пришлось перезагрузить мой Mac и загрузить его снова, потому что мой Mac не хотел добавлять его. (Я знал это, потому что меня не просили ввести мой пароль ...)
— Богоподобный

131
Ко всему, что не может заставить его работать, несмотря на инструкции ... Есть два истекших сертификата WWDR. Один находится в связке ключей входа, а другой - в Системе. Вы должны удалить их обоих , чтобы все заработало.
— Алекс Н.

3
Убедитесь, что при переходе в «Доступ к связке ключей» зайдите в «Связки ключей»> «Система» и также удалите старые сертификаты. Мои подписи были аннулированы, пока я не сделал это.
— wowzuzz

562

Я также столкнулся с той же проблемой сегодня. Следующие шаги исправили мою проблему.

  1. Загрузить https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. Дважды щелкните, чтобы установить в связку ключей.
  3. Затем в связке ключей выберите «Просмотр» -> «Показать устаревшие сертификаты» в приложении связки ключей.
  4. В нем будут перечислены все просроченные сертификаты.
  5. Удалите «Apple Worldwide Developer Certificate Authority Certificates» на вкладке «Логин»
  6. А также удалите его из вкладки «Система».

Теперь вы готовы идти.


62
"6. А также удалите его из вкладки" Система "." шаг решил мою проблему. Это правильный ответ!!!
— EFE

4
Я тоже! Я исправил удаление из вкладки «Система». Шаг
— Эдвард Чанг

1
Я выполняю следующие действия, в том числе удаляю его из системы, однако каждый раз, когда я открываю компоновщик расширений (разработчика Safari), старый сертификат с истекшим сроком действия появляется снова. Любые идеи?
— Андре

3
Эта проблема была решена следующим образом: «Если ваш сертификат недоступен в Safari Extension Builder, обновите свою систему подписи до бета-версии OS X El Capitan v10.11.4» на следующей странице: истечение срока действия сертификата
— Andre

для тех, кто хочет знать, где можно найти сертификаты: Apple сертифицирована
— Хорхе Касариего

41

Я продолжал сталкиваться с проблемой и видел, что все мои сертификаты были признаны недействительными - о нет!

Оказывается, я никогда не удалял просроченный сертификат. Он не показывался для меня, пока я не выбрал приложение Keychain Access:

Вид-> Показать просроченные сертификаты

тогда

Система-> Все товары

наконец-то отобразится тот самый недействительный сертификат. Удалите это и повторите попытку из XCode, чтобы получить новые действительные сертификаты.

Просто убедитесь, что вы ищете "Все элементы" в приложении Keychain Access. Недействительные сертификаты являются результатом указания на устаревший сертификат, который еще не был удален.


Показ истекших сертификатов, а затем удаление из системы решило это для меня.
— Жюль

33

Ниже процесс решит проблему,

1. Откройте доступ к KeyChain и удалите «Всемирный центр сертификации по связям с разработчиками Apple» (срок действия которого истекает 14 февраля 2016 г.) в разделах «Вход» и «Система». Если вы не можете найти его, используйте «Показать устаревшие сертификаты» в меню «Вид».

введите описание изображения здесь

2. Теперь загрузите https://developer.apple.com/certificationauthority/AppleWWDRCA.cer и дважды щелкните сертификат, чтобы добавить его в сертификаты Keychain access> (срок действия которого истекает 8 февраля 2023 г.). Теперь действительный статус сертификатов должен стать зеленым, как показано ниже.

введите описание изображения здесь

Один раз проверь статус.


2
Спасибо! Это «Если вы не можете найти его, используйте« Показать устаревшие сертификаты »в меню« Вид »». помог мне много!
— SDW

почему на скриншоте есть обрезка ногтя?
— FlavorScape

21

Apple внесла следующие изменения, поэтому загрузите новый сертификат developer.apple.com

Обновите сертификат и разместите его, как показано ниже на снимках экрана. В цепочке ключей, как показано ниже, снимки экрана нажмите на систему, а затем сертификат. Удалить просроченный сертификат. Затем перетащите файл AppleWWDRCA.cer, который вы загрузили сверху, по ссылке.

Срок действия сертификата промежуточного сертификата Apple по всему миру истек

Чтобы защитить клиентов и разработчиков, мы требуем, чтобы все сторонние приложения, пропуска для Apple Wallet, расширения Safari, push-уведомления Safari и квитанции о покупках в App Store были подписаны доверенным центром сертификации. Всемирный центр сертификации отношений с разработчиками Apple выдает сертификаты, которые вы используете для подписи своего программного обеспечения для устройств Apple, что позволяет нашим системам подтверждать, что ваше программное обеспечение доставлено пользователям в соответствии с назначением и не было изменено.

Промежуточный сертификат сертификации по связям с разработчиками Apple Worldwide скоро истекает, и мы выпустили обновленный сертификат, который должен быть включен при подписании всех новых проходов Apple Wallet, push-пакетов для push-уведомлений Safari и расширений Safari начиная с 14 февраля 2016 года.

Хотя большинство разработчиков и пользователей не будут затронуты изменением сертификата, мы рекомендуем всем разработчикам загрузить и установить обновленный сертификат на свои системы разработки и серверы в качестве передового опыта. Все приложения останутся доступными в App Store для iOS, Mac и Apple TV.

Поскольку для проверки квитанций и доставки удаленных уведомлений можно использовать разные методы, мы рекомендуем вам протестировать свои службы, чтобы убедиться в отсутствии проблем, связанных с реализацией. В ваших приложениях может возникнуть ошибка проверки квитанции, если код проверки квитанции делает неверные предположения о сертификате. Убедитесь, что ваш код соответствует Руководству по программированию подтверждения квитанции, и разрешите все вопросы, связанные с проверкой квитанции, до 14 февраля 2016 года.

введите описание изображения здесь


12

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

Кроме того, мне нужно было скопировать Сертификат с именем «Центр сертификации Apple по связям с разработчиками » из цепочки для ключей прежней машины разработки в цепочку для ключей новой.

Это решило проблему для меня.


10
Вы можете установить его, используя эту ссылку: developer.apple.com/certificationauthority/AppleWWDRCA.cer
— ЕСВ

12

Я импортировал новый сертификат Apple WWDR, ​​срок действия которого истекает в 2023 году, но у меня все еще были проблемы, и в моих сертификатах разработчика отображалась ошибка недопустимого издателя.

В доступе цепочки для ключей, перейдите к View -> Show Expired Certificates, затем в вашей цепочке для ключей входа выделите устаревший Сертификат WWDR и удалите его. У меня также был тот же сертификат с истекшим сроком действия в моей системной цепочке для ключей, поэтому я также удалил его оттуда. (Важно)

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


4

Я удалил старую AppleWWDRCA, скачал и установил AppleWWDRCA , но проблема осталась. Я также проверил свои сертификаты распространения и разработки от Keychain Access, и вижу ниже ошибку;

"This certificate has an invalid issuer."

Затем,

  1. Я отозвал сертификаты разработки и распространения в Центре участников.
  2. Пересоздайте файл CSR и добавьте сертификаты разработки и распространения с нуля, загрузите их и установите.

Это исправленная проблема с сертификатом.

Поскольку старые сертификаты отозваны, существующие профили обеспечения становятся недействительными. Чтобы исправить это;

  1. На сайте участника открыты профили обеспечения.
  2. Открыл детали профиля, нажав «Редактировать», проверил сертификат из списка и нажал кнопку «Создать».
  3. Скачал и установил профили разработки и распространения.

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


3

Мой ответ был другим и пришел с сообщением:

resource fork, Finder information, or similar detritus not allowed

Решение состояло в том, чтобы сделать сгенерированную графику:

Ошибка знака кода в macOS Sierra Xcode 8: недопустимая ветвь ресурса, информация об Finder или подобный детрит не допускаются


Помог мне, спасибо! Была та же самая проблема, действительно связанная с генерируемой графикой и тем же сообщением об ошибке.
— Даббелуг


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.