Xcode 8 показывает, что профиль обеспечения не включает сертификат подписи.
Эта проблема связана с Xcode-8 только с Xcode 7, тем же профилем подготовки, показывающим соответствующий идентифицированный сертификат.
Xcode 8 показывает, что профиль обеспечения не включает сертификат подписи.
Эта проблема связана с Xcode-8 только с Xcode 7, тем же профилем подготовки, показывающим соответствующий идентифицированный сертификат.
Чтобы исправить это,
Я просто включаю "Автоматическое подписание подписи" на вкладке "Общие настройки проекта". Прежде чем включить, я боялся, что у меня могут быть побочные эффекты, но как только я включу это для меня.
Есть много способов исправить это, например, включить автоматическое подписание и т.д. Но если вы хотите понять причину этой ошибки, вам нужно посмотреть сообщение об ошибке.
В нем говорится, что профиль подготовки, который вы выбрали на вкладке "Общие", не содержит сертификата подписи, который вы выбрали в "Настройки сборки" → "Идентификация подписи кода".
Обычно это происходит, если для идентификатора отладки был выбран сертификат распространения в разделе "Настройки сборки" → "Идентификация подписи кода".
Если это происходит в разделе "Подписание (отладка)", также может быть, что "Идентификация подписи" → "Разработка iOS" не включена в профиль подготовки.
Проверьте свою цепочку ключей для идентификаторов, в которых отсутствует закрытый ключ. У меня было несколько сертификатов распространения, установленных для одной и той же команды, в одном из которых отсутствовал секретный ключ. Xcode проверял только первое совпадение идентификатора в цепочке ключей и автоматически использовал это, а не тот, который включал закрытый ключ.
Удаление совпадающего идентификатора, у которого не было закрытого ключа, заставил Xcode снова определить правильную идентификацию.
Для тех, кто по какой-то причине не должен использовать auotamatic
Откройте keyChain Access, чтобы увидеть, есть ли две одинаковые сертификаты. Если есть два или более, просто удалить одно, и оно будет работать:)
Я столкнулся с этой проблемой после недавнего обновления Xcode до версии 9.3. Проблема заключалась в том, что сертификат подписи кода (под отладкой) был установлен для сертификата распространения вместо сертификата разработки, поэтому это помешало мне установить приложение на мои устройства.
Вот что я сделал для решения этой проблемы.
Проект → Цели → Выберите ваше приложение → Настройки сборки → Идентификация подписи кода → Отладка → Дважды коснитесь "Распределение iPhone" и измените его на "Разработчик iPhone".
Я снял флажок, а затем установил опцию "Автоматически управлять подпиской". Это исправило это для меня.
Для чего стоит автоматическое подписание сбой каждый раз, пока я просто вручную удаляю локальные профили в: ~/Library/MobileDevice/Provisioning Profiles
После этого автоматическое подписание отлично работало и получило правильные профили с серверов Apple.
Это затрагивало только некоторые сборки, в частности те, для которых у меня были вручную созданные профили для просмотра приложения.
Для тех, кто все еще борется с этой проблемой в Xcode8. Для меня была проблема с дублирующимся сертификатом, вот как я ее решил:
Я прочитал ответ Ника, а затем начал свое расследование. Я проверил все ключи и сертификаты в моем конкретном случае (внутри ~/Library/Keychains/System.keychain).
Когда я открыл файл, я обнаружил, что у меня есть два сертификата распространения iPhone (это был сертификат, который запрашивал Xcode), один с личным ключом распространения iOS, который я использовал с самого начала, и еще один сертификат распространения iPhone, который У частного ключа было имя (iOS Distribution: NAME), которое для меня не было знакомым. Я удалил этот последний сертификат, снова начал Xcode, и проблема исчезла. xCode не смог разрешить этот конфликт, и поэтому он постоянно выдавал подпись сертификата.
Проверьте свои брелки, возможно, у вас есть дубликат сертификата.
Если вы используете ручную подпись (что я определенно рекомендую), эта ошибка может возникать из-за того, что Xcode считает, что должна подписать сборку релиза с сертификатом разработчика, который явно не включен в профиль обеспечения релиза.
Существует параметр сборки, который определяет, какой сертификат должен использоваться для какой конфигурации сборки. Чтобы изменить его, перейдите к настройкам сборки и выполните поиск идентификатора подписи кода. Когда развернуто, должны быть отдельные строки для каждой конфигурации сборки (обычно Debug и Release) с выбранным идентификатором во втором столбце (обычно iOS Developer или iOS Distribution). Убедитесь, что для каждой конфигурации сборки установлено правильное удостоверение.
В некоторых случаях конфигурации сборки также могут быть расширены. Убедитесь, что также его подэлементы установлены на правильные идентификаторы.
Вы также можете решить проблемы с подделкой кода с помощью большого инструментария 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 для всех других опций.
В моем случае, в keychain у меня было два сертификата с таким же именем, я удалил один из дубликатов, тогда он решил проблему.
Была такая же ошибка. Профили обновлены, добавлены новые сертификаты, я даже проверял их при загрузке. Также аннулированы прежние сертификаты разработчика, исключенные из профиля предоставления. Но XCode все еще спрашивает меня о предыдущих сертификатах с ошибкой:
No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found
Итак, что я сделал, чтобы это исправить:
Build Settings
→ Signing
→ Code Signing Identity
Надеюсь, это кому-нибудь поможет.
"Включить автоматическое подписание", а затем выбор команды из раскрывающегося меню помог мне с этой точной проблемой.
Для меня ни один из вышеперечисленных решений не работал. Я перешел с двух старых Mac на новый Mac, пытаясь получить профили выпуска/отладки, работающие на Xcode БЕЗ Xcode, управляя ими автоматически.
Решение для меня состояло в том, что когда я пошел и создал два новых сертификата, я ALSO должен был войти в мои профили обеспечения и добавить (как в дистрибутиве, так и в dev) новые сертификаты профили подготовки так признали их. После этого и загрузки xcode удалил все ошибки, и это хорошо.
Надеюсь, это поможет кому-то!
Я получил одно из этих писем от Apple:
Дорогой Джон Доу,
Следующий сертификат либо был отозван членом вашей команды разработчиков, либо истек:
Сертификат: разработка iOS
Название команды: Honey Team, LLC
Это не влияет на приложения, которые вы отправили в App Store, или на вашу способность обновлять свои приложения. Если вы используете профили подготовки, содержащие этот сертификат, они должны быть воссозданы, прежде чем их можно будет повторно использовать. Подробнее см. В разделе "Обзор подписи приложений" справки Xcode.
С наилучшими пожеланиями,
Поддержка Apple Developer Program
Я создал новый сертификат, который отозвал предыдущий сертификат (локально и на любом другом Mac разработчика). Чтобы он работал, я должен загрузить новые профили предоставления.
Решение:
У меня лично не было такого доступа. Этот доступ был доступен только администратору нашей команды, поэтому у меня нет скриншотов или нет, если эти шаги на 100% правильны.
Я еще не видел этого, но если у вас все еще возникают проблемы после воссоздания профилей подготовки, удаление существующих в папке Provision Profiles, проверка на наличие дубликатов в Keychain и т.д. (Все остальные ответы ITT), откройте Target> Build Settings> Code Signing и убедитесь, что все выглядит согласованным. Например, я изменил идентификатор идентификатора кода для отладки на идентификатор распространения, который, очевидно, не будет работать, поскольку профиль Provisioning Profile не имеет сертификата распространения и в первую очередь вызывает ошибку.
Если вы пытаетесь загрузить приложение в iTunes Connect (для ваших профилей Provisioning Profiles задано значение "Распространение"), перейдите в "Настройки проекта" → "Настройки сборки" → "Подписание кода". Обязательно установите все параметры отладки и отладки в профиль Provisioning Provisioning Profile.
У меня та же проблема. Я изменил mac. И когда я скачал сертификат Xcode, вы получите сообщение об ошибке: "Ошибка в том, что профиль безопасности не включает подпись сертификата".
1) Перейдите на страницу https://developer.apple.com/account/ios/profile/limited/edit Выберите проект => edit => Сертификаты => Выбрать все => Создать => Загрузить
2) В Xcode: Project file => Signing (Debug) => Профиль Provisioning => Профиль импорта => Выберите файл с 1
Вот шаги, которые были решены для меня (для тех, кто сталкивается с той же проблемой в XCode 9.2):
Просто удаленные локальные профили вручную в ~/Library/MobileDevice/Provisioning Profiles.
Удалены и созданы все сертификаты и профиль обеспечения из учетной записи разработчиков.
Удалена учетная запись разработчика из Xcode и повторно добавлена.
Решила мою проблему! :-)
Xcode 11
Это ошибка, которую я получил
Профиль обеспечения "XXX" не включает в себя сертификат подписи "Apple Development: XXX (XXX)". '' '
Теперь Xcode 11 автоматически создал сертификат "Apple Development: XXX", который действителен для всех платформ
Вам просто нужно
У меня были оставшиеся закрытые ключи от сертификатов, которые я отозвал, сертификаты исчезли, но не закрытые ключи. Удаление их решило проблему.
Чтобы найти их:
Выделенный ключ на картинке - это образец закрытого ключа без сертификата.
Щелчок, но затем отмена "Включить автоматическое подписание" работала для меня, хотя фактическое изменение было сделано:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
или в Xcode он называется Always Embed Swift Standard Libraries
У меня была такая же проблема, и причина была копейка. Неправильный профиль и сертификат были выбраны в настройках сборки. Я только делал это раньше нескольких дней. Таким образом, вам не нужно включать "автоматический" внутри xcode. Перед тем, как сделать это, проверьте профили внутри своих настроек сборки.
Попробуйте загрузить сертификаты/профили непосредственно из центра участника, а не делать это из Xcode.
Он работал у меня, когда я вручную загружал их из центра участников.
Я боролся с этим много дней.
Шаг 1: Удалены все сертификаты, профили настройки, appID, ключ и т.д. Из учетной записи разработчика.
Шаг 2: Восстановлены сертификаты push-уведомлений, профиль подготовки, идентификатор приложения и т.д.
Шаг 3: Удалены все сертификаты из связки ключей.
Шаг 4: Сброс всех профилей подготовки из профилей ~/Library/MobileDevice/Provisioning.
Шаг 5: Добавлен только необходимый файл инициализации и протестирован. Он отлично работает.
Это означает, что вам нужно выполнить одно из следующих действий:
Решение №2, когда вы не можете получить файл сертификата и.p12 от создателя, это просто проверить параметр "Автоматически управлять подписью".
Это происходит потому, что профиль обеспечения не может найти файл для сертификата, к которому он привязан.
Чинить:
Ошибка должна исчезнуть сейчас.
Эта проблема связана с тем, что закрытый ключ в сертификате в вашем профиле не совпадает с ключом в цепочке для ключей. Я разрешаю это
тот же ответ с проблемой подписания кода в Xcode версии 8.
В моем случае проблема заключается в том, что в Xcode Beta 11.5 изменились способы подписать приложение, поэтому просто убедитесь, что оба сертификата обеспечения отладки/выпуска правильно установлены