Xcode 8 показывает ошибку, что профиль обеспечения не включает сертификат подписи

Xcode 8 показывает, что профиль обеспечения не включает сертификат подписи.

Эта проблема связана с Xcode-8 только с Xcode 7, тем же профилем подготовки, показывающим соответствующий идентифицированный сертификат.

Ответ 1

Чтобы исправить это,

Я просто включаю "Автоматическое подписание подписи" на вкладке "Общие настройки проекта". Прежде чем включить, я боялся, что у меня могут быть побочные эффекты, но как только я включу это для меня.

Надеюсь, это поможет другим! введите описание изображения здесь

Ответ 2

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

В нем говорится, что профиль подготовки, который вы выбрали на вкладке "Общие", не содержит сертификата подписи, который вы выбрали в "Настройки сборки" → "Идентификация подписи кода".

Обычно это происходит, если для идентификатора отладки был выбран сертификат распространения в разделе "Настройки сборки" → "Идентификация подписи кода".

Если это происходит в разделе "Подписание (отладка)", также может быть, что "Идентификация подписи" → "Разработка iOS" не включена в профиль подготовки.

Ответ 3

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

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

Удаление совпадающего идентификатора, у которого не было закрытого ключа, заставил Xcode снова определить правильную идентификацию.

Ответ 4

Для тех, кто по какой-то причине не должен использовать auotamatic

Откройте keyChain Access, чтобы увидеть, есть ли две одинаковые сертификаты. Если есть два или более, просто удалить одно, и оно будет работать:)

Ответ 5

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

Вот что я сделал для решения этой проблемы.

Проект → Цели → Выберите ваше приложение → Настройки сборки → Идентификация подписи кода → Отладка → Дважды коснитесь "Распределение iPhone" и измените его на "Разработчик iPhone".

Ответ 6

Я снял флажок, а затем установил опцию "Автоматически управлять подпиской". Это исправило это для меня.

Ответ 7

Для чего стоит автоматическое подписание сбой каждый раз, пока я просто вручную удаляю локальные профили в: ~/Library/MobileDevice/Provisioning Profiles

После этого автоматическое подписание отлично работало и получило правильные профили с серверов Apple.

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

Ответ 8

Для тех, кто все еще борется с этой проблемой в Xcode8. Для меня была проблема с дублирующимся сертификатом, вот как я ее решил:

Я прочитал ответ Ника, а затем начал свое расследование. Я проверил все ключи и сертификаты в моем конкретном случае (внутри ~/Library/Keychains/System.keychain).

Когда я открыл файл, я обнаружил, что у меня есть два сертификата распространения iPhone (это был сертификат, который запрашивал Xcode), один с личным ключом распространения iOS, который я использовал с самого начала, и еще один сертификат распространения iPhone, который У частного ключа было имя (iOS Distribution: NAME), которое для меня не было знакомым. Я удалил этот последний сертификат, снова начал Xcode, и проблема исчезла. xCode не смог разрешить этот конфликт, и поэтому он постоянно выдавал подпись сертификата.

Проверьте свои брелки, возможно, у вас есть дубликат сертификата.

Ответ 9

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

Существует параметр сборки, который определяет, какой сертификат должен использоваться для какой конфигурации сборки. Чтобы изменить его, перейдите к настройкам сборки и выполните поиск идентификатора подписи кода. Когда развернуто, должны быть отдельные строки для каждой конфигурации сборки (обычно Debug и Release) с выбранным идентификатором во втором столбце (обычно iOS Developer или iOS Distribution). Убедитесь, что для каждой конфигурации сборки установлено правильное удостоверение.

В некоторых случаях конфигурации сборки также могут быть расширены. Убедитесь, что также его подэлементы установлены на правильные идентификаторы.

Ответ 10

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

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

Fastlane установлен как драгоценный камень Ruby:

gem install fastlane

И затем просто вызывается:

fastlane sigh --development

Ответьте на два вопроса и вуаля:

[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...

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

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

Ответ 11

В моем случае, в keychain у меня было два сертификата с таким же именем, я удалил один из дубликатов, тогда он решил проблему.

Ответ 12

Была такая же ошибка. Профили обновлены, добавлены новые сертификаты, я даже проверял их при загрузке. Также аннулированы прежние сертификаты разработчика, исключенные из профиля предоставления. Но XCode все еще спрашивает меня о предыдущих сертификатах с ошибкой:

No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found

Итак, что я сделал, чтобы это исправить:

  1. Перейти Build SettingsSigningCode Signing Identity
  2. Найдите все сертификаты "FORMER_DEVELOPER" и выберите нужные.

Надеюсь, это кому-нибудь поможет.

Ответ 13

"Включить автоматическое подписание", а затем выбор команды из раскрывающегося меню помог мне с этой точной проблемой.

Ответ 14

  • Удалить сертификат разработчика, который не имеет закрытого ключа.
  • Удалите профиль подготовки с вашего компьютера, перейдя в папку (~/Library/MobileDevice/Provisioning Profiles)
  • Затем сначала проверьте, затем снимите флажок Автоматически управлять подписью в настройках проекта с помощью команды.
  • Пойте в учетной записи разработчика Apple и отредактируйте профиль подготовки, выбрав все доступные сертификаты разработчика, затем загрузите и добавьте в XCODE.
  • Выберите профиль подготовки и идентификатор подписи кода в настройках сборки проекта.

Ответ 15

Для меня ни один из вышеперечисленных решений не работал. Я перешел с двух старых Mac на новый Mac, пытаясь получить профили выпуска/отладки, работающие на Xcode БЕЗ Xcode, управляя ими автоматически.

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

Надеюсь, это поможет кому-то!

Ответ 16

Я получил одно из этих писем от Apple:

Дорогой Джон Доу,

Следующий сертификат либо был отозван членом вашей команды разработчиков, либо истек:

Сертификат: разработка iOS

Название команды: Honey Team, LLC

Это не влияет на приложения, которые вы отправили в App Store, или на вашу способность обновлять свои приложения. Если вы используете профили подготовки, содержащие этот сертификат, они должны быть воссозданы, прежде чем их можно будет повторно использовать. Подробнее см. В разделе "Обзор подписи приложений" справки Xcode.

С наилучшими пожеланиями,

Поддержка Apple Developer Program


Я создал новый сертификат, который отозвал предыдущий сертификат (локально и на любом другом Mac разработчика). Чтобы он работал, я должен загрузить новые профили предоставления.

Решение:

  • войти в аккаунт разработчика Apple
  • удалить/отменить предыдущие сертификаты, созданные под моим именем.
  • добавьте новый сертификат в профиль предоставления. Вы можете определить более новую по дате истечения срока действия
  • загрузите их снова из Xcode. Xcode >> Учетная запись >> Загрузить все профили
  • перезапустить Xcode

У меня лично не было такого доступа. Этот доступ был доступен только администратору нашей команды, поэтому у меня нет скриншотов или нет, если эти шаги на 100% правильны.

Ответ 17

Я еще не видел этого, но если у вас все еще возникают проблемы после воссоздания профилей подготовки, удаление существующих в папке Provision Profiles, проверка на наличие дубликатов в Keychain и т.д. (Все остальные ответы ITT), откройте Target> Build Settings> Code Signing и убедитесь, что все выглядит согласованным. Например, я изменил идентификатор идентификатора кода для отладки на идентификатор распространения, который, очевидно, не будет работать, поскольку профиль Provisioning Profile не имеет сертификата распространения и в первую очередь вызывает ошибку.

Ответ 18

Если вы пытаетесь загрузить приложение в iTunes Connect (для ваших профилей Provisioning Profiles задано значение "Распространение"), перейдите в "Настройки проекта" → "Настройки сборки" → "Подписание кода". Обязательно установите все параметры отладки и отладки в профиль Provisioning Provisioning Profile.

Ответ 19

У меня та же проблема. Я изменил mac. И когда я скачал сертификат Xcode, вы получите сообщение об ошибке: "Ошибка в том, что профиль безопасности не включает подпись сертификата".

1) Перейдите на страницу https://developer.apple.com/account/ios/profile/limited/edit Выберите проект => edit => Сертификаты => Выбрать все => Создать => Загрузить

2) В Xcode: Project file => Signing (Debug) => Профиль Provisioning => Профиль импорта => Выберите файл с 1

Ответ 20

Вот шаги, которые были решены для меня (для тех, кто сталкивается с той же проблемой в XCode 9.2):

  1. Просто удаленные локальные профили вручную в ~/Library/MobileDevice/Provisioning Profiles.

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

  3. Удалена учетная запись разработчика из Xcode и повторно добавлена.

Решила мою проблему! :-)

Ответ 21

Xcode 11

Это ошибка, которую я получил

Профиль обеспечения "XXX" не включает в себя сертификат подписи "Apple Development: XXX (XXX)". '' '

Теперь Xcode 11 автоматически создал сертификат "Apple Development: XXX", который действителен для всех платформ

https://developer.apple.com/account/resources/certificates/list

Вам просто нужно

  1. Перейти на https://developer.apple.com
  2. Перейдите в свой профиль обеспечения
  3. Проверьте, выбран ли этот сертификат

Ответ 22

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

Чтобы найти их:

  1. Открытый доступ к брелку
  2. Нажмите "Ключи" под категорией в боковом левом меню.
  3. Ищите iOS Developer:... "ключи, к которым не привязан сертификат
  4. Я удалил их, и проблема ушла

Выделенный ключ на картинке - это образец закрытого ключа без сертификата.

The highlighted item was one key causing issues, deleting it solved issue

Ответ 23

Щелчок, но затем отмена "Включить автоматическое подписание" работала для меня, хотя фактическое изменение было сделано:

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;

или в Xcode он называется Always Embed Swift Standard Libraries

Ответ 24

У меня была такая же проблема, и причина была копейка. Неправильный профиль и сертификат были выбраны в настройках сборки. Я только делал это раньше нескольких дней. Таким образом, вам не нужно включать "автоматический" внутри xcode. Перед тем, как сделать это, проверьте профили внутри своих настроек сборки.

Ответ 25

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

Он работал у меня, когда я вручную загружал их из центра участников.

Ответ 26

Я боролся с этим много дней.

Шаг 1: Удалены все сертификаты, профили настройки, appID, ключ и т.д. Из учетной записи разработчика.

Шаг 2: Восстановлены сертификаты push-уведомлений, профиль подготовки, идентификатор приложения и т.д.

Шаг 3: Удалены все сертификаты из связки ключей.

Шаг 4: Сброс всех профилей подготовки из профилей ~/Library/MobileDevice/Provisioning.

Шаг 5: Добавлен только необходимый файл инициализации и протестирован. Он отлично работает.

Ответ 27

Это означает, что вам нужно выполнить одно из следующих действий:

  1. Вы должны были создать сертификат в Центре разработчиков, а затем включить этот сертификат в профиль Provisioning Profile, который вы импортируете в XCode.
  2. Кроме того, если вы используете сертификат, созданный кем-то другим, попросите их поделиться/экспортировать свой сертификат и закрытый ключ (файл.p12), и вам нужно включить его в свою цепочку ключей. См. Здесь

Решение №2, когда вы не можете получить файл сертификата и.p12 от создателя, это просто проверить параметр "Автоматически управлять подписью".

Ответ 28

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

Чинить:

  1. Проверьте, какой сертификат связан с вашим профилем обеспечения, нажав кнопку "Изменить" в профиле обеспечения в разделе "Сертификаты, идентификаторы и профили" панели инструментов разработчика Apple.
  2. Загрузить сертификат с панели инструментов
  3. Дважды щелкните файл, чтобы установить его в брелок
  4. Перетащите файл в Xcode, чтобы быть уверенным, что он связан

Ошибка должна исчезнуть сейчас.

Ответ 29

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

  1. удалить все сертификаты iPhone Developer в связке ключей.
  2. удалить все сертификаты в учетной записи Apple.
  3. используя xcode "Manage Certificates" для добавления сертификата, иногда у вас все еще есть сертификат на вашем Mac, но я не знаю, где он сейчас находится, и в случае успешного добавления ваша учетная запись Apple также отобразит этот сертификат, а затем вы сможете создать свой сертификат. профиль с этим сертификатом и скачать... перейти к 5
  4. если вы используете "Управление сертификатами", не можете добавить сертификат, вы можете создать новый сертификат и сделать шаги.
  5. Конец.

тот же ответ с проблемой подписания кода в Xcode версии 8.

Ответ 30

В моем случае проблема заключается в том, что в Xcode Beta 11.5 изменились способы подписать приложение, поэтому просто убедитесь, что оба сертификата обеспечения отладки/выпуска правильно установлены