Xcode 8 показывает ошибку, что профиль обеспечения не включает сертификат подписи.
Эта проблема связана с Xcode-8 только с Xcode 7, тот же профиль обеспечения, показывающий связанный идентифицированный сертификат.
Xcode 8 показывает ошибку, что профиль обеспечения не включает сертификат подписи.
Эта проблема связана с Xcode-8 только с Xcode 7, тот же профиль обеспечения, показывающий связанный идентифицированный сертификат.
Ответы:
Есть много способов исправить это, например, включить автоматическую подпись и т. Д. Но если вы хотите понять причину этой ошибки, вам нужно взглянуть на сообщение об ошибке.
В нем говорится, что профиль обеспечения, выбранный вами на «вкладке Общие», не содержит сертификат подписи, который вы выбрали в «Настройках сборки» -> «Идентификация подписи кода».
Обычно это происходит, если для идентификатора отладки был выбран сертификат распространения в «Настройках сборки» -> «Идентификация подписи кода».
Если это происходит в разделе «Подписывание (отладка)», это также может означать, что «Идентификация подписи» -> «Разработка iOS» не включена в профиль обеспечения.
Проверьте вашу связку ключей для идентичностей, которые пропускают закрытый ключ. У меня было несколько сертификатов распространения, установленных для одной и той же команды, в одном из которых отсутствовал закрытый ключ. Xcode проверял только первую совпадающую идентификацию в цепочке для ключей и автоматически использовал ее, в отличие от той, которая включала закрытый ключ.
Удаление совпадающего идентификатора, у которого не было закрытого ключа, заставило XCode снова обнаружить правильное удостоверение.
Чтобы исправить это,
Я просто включаю «Автоматическое управление подписанием» на вкладке «Общие настройки проекта». Прежде чем включить, я боялся, что у него могут быть некоторые побочные эффекты, но как только я включу, это работает для меня.
Для тех, кто по каким-то причинам должен продолжать использовать не auotamatic
Откройте keyChain Access, чтобы увидеть, есть ли два одинаковых сертификата, если их два или более, просто удалите один, и он будет работать :)
Я столкнулся с этой проблемой после недавнего обновления XCode до версии 9.3. Проблема заключалась в том, что для подписи кода (в режиме отладки) для сертификата был установлен сертификат распространения вместо сертификата разработки, поэтому это не позволило мне установить приложение на мои устройства.
Вот что я сделал, чтобы решить эту проблему.
Проект -> Цели -> Выберите приложение -> Настройки сборки -> Идентификация подписи кода -> Отладка -> Дважды нажмите «Распространение iPhone» и измените его на «iPhone Developer».
Я снял флажок, а затем установил флажок «Автоматически управлять подписью». Это исправило это для меня.
Для чего стоит автоматическая подпись не удавалось каждый раз, пока я просто вручную не удалил локальные профили в: ~ / Library / MobileDevice / Provisioning Profiles
После этого автоматическая подпись работала отлично и получала нужные профили с серверов Apple.
Это влияло только на некоторые сборки, особенно те, для которых я вручную создал профили для часового приложения.
CMD + Shift + .
чтобы показать все скрытые файлы.
Для тех, кто все еще борется с этой проблемой в 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:
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...
Наконец, перейдите в Build Settings -> Signing и переключитесь на вновь созданный профиль обеспечения, имя которого вы только что увидели в выводе команды.
Этот пример для проблемы подписи кода разработки (работает на устройстве). Проверьте документацию вздоха для всех других вариантов.
Была такая же ошибка. Профили кажутся обновленными, добавляются новые сертификаты, я даже проверял это при загрузке. Также отозваны сертификаты бывшего разработчика, исключены из профиля предоставления. Но Xcode все еще спрашивает меня о предыдущих сертификатах с ошибкой:
No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found
Итак, что я сделал, чтобы это исправить:
Build Settings
-> Signing
->Code Signing Identity
Надеюсь, это кому-нибудь поможет.
В моем случае в цепочке для ключей у меня было два сертификата с одним и тем же именем, я удалил один сертификат, который является дубликатом, и это решило проблему.
«Включить автоматическую подпись», а затем выбор команды из выпадающего меню помогли мне решить эту проблему.
Xcode 11
Это ошибка, которую я получил
Профиль обеспечения "XXX" не включает в себя сертификат подписи "Apple Development: XXX (XXX)". `` `
Теперь Xcode 11 автоматически создал сертификат «Apple Development: XXX», который действителен для всех платформ
Вам просто нужно
У меня были оставшиеся закрытые ключи от сертификатов, которые я отозвал, сертификаты исчезли, но не закрытые ключи. Удаление их решило проблему.
Чтобы найти их:
Выделенный ключ на картинке - это образец закрытого ключа без сертификата.
У меня та же проблема. Я изменил макинтош. И когда я скачал сертификат XCode, я получил сообщение об ошибке: «Ошибка в том, что профиль безопасности не включает подпись сертификата».
1) Перейдите на https://developer.apple.com/account/ios/profile/limited/edit. Выберите проект => изменить => Сертификаты => Выбрать все => Создать => Загрузить.
2) В Xcode: файл проекта => Подписание (отладка) => Профиль обеспечения => Импортировать профиль => Выбрать файл с 1
Для меня ни одно из вышеперечисленных решений не сработало. Я мигрировал с двух старых компьютеров Mac на новый, пытаясь заставить профили выпуска / отладки работать на XCode БЕЗ XCode, автоматически управляющего ими.
Решение для меня было то , что , когда я пошел и создал два новых сертификатов, я ТАКЖЕ должен был пойти в мои провизий профилей, а также добавить (в обоих распределения и Dev) новые сертификаты Предоставления профилей так узнавал их. После этого и загрузки, xcode удалил все ошибки, и это хорошо.
Надеюсь, это поможет кому-то!
Я получил одно из этих писем от Apple:
Дорогой Джон Доу,
Следующий сертификат был отозван членом вашей команды разработчиков или срок его действия истек:
Сертификат: iOS Разработка
Название команды: Honey Team, LLC
Это не влияет на приложения, которые вы отправили в App Store, или на вашу способность обновлять свои приложения. Если вы используете профили обеспечения, содержащие этот сертификат, они должны быть воссозданы, прежде чем их можно будет повторно использовать. Для получения дополнительной информации см. Раздел «Обзор подписывания приложения» справки XCode.
С уважением,
Поддержка программ Apple для разработчиков
Я создал новый сертификат, который отозвал предыдущий сертификат (локально и на любом другом компьютере разработчика). Чтобы это работало, я должен загрузить новые профили обеспечения.
Решение состоит в том, чтобы:
Лично у меня не было такого доступа. Этот доступ был доступен только для администратора нашей команды, поэтому у меня нет скриншотов, и я не уверен, что эти шаги на 100% правильные.
Я еще не упоминал об этом, но если у вас все еще есть проблемы после воссоздания ваших профилей обеспечения, удаления существующих в вашей папке Provision Profiles, проверки на наличие ошибок в вашей цепочке для ключей и т. Д. (Все другие ответы ITT), откройте свой Target> Build Settings> Code Signing и убедитесь, что все выглядит согласованно. Например, я изменил «Идентификатор подписи кода для отладки» на «Распределение», что, очевидно, не сработает, поскольку профиль обеспечения разработки не имеет сертификата распространения и изначально вызывал ошибку.
Если вы пытаетесь загрузить свое приложение в iTunes Connect (для ваших профилей обеспечения задано Распределение), выберите «Настройки проекта» -> «Настройки сборки» -> «Подписание кода». Обязательно установите все параметры отладки и выпуска в свой профиль обеспечения распространения.
Проблема, кажется, начинает происходить в Xcode 11 .
Вот шаги, решенные для меня (для тех, кто сталкивается с той же проблемой в XCode 9.2):
Просто вручную удалили локальные профили в ~ / Library / MobileDevice / Provisioning Profiles.
Удалил и создал все сертификаты и профиль обеспечения из аккаунта разработчиков.
Удалил аккаунт разработчиков из Xcode и заново его добавил.
Решил мою проблему! :-)
У меня была та же проблема, и причина была копейка. В настройках сборки был выбран неправильный профиль и сертификат. Я только сделал это до нескольких дней. Таким образом, вам не нужно включать «автоматический» внутри XCode. Проверьте профили в настройках сборки, прежде чем делать это.
Я боролся с этим в течение многих дней.
Шаг 1. Удалите все сертификаты, профиль обеспечения, appID, ключ и т. Д. Из учетной записи разработчика.
Шаг 2. Создайте сертификаты push-уведомлений, профиль обеспечения, идентификатор приложения и т. Д.
Шаг 3: Удалил все сертификаты из цепочки для ключей.
Шаг 4. Очистите весь профиль обеспечения из ~ / Library / MobileDevice / Provisioning Profiles.
Шаг 5: Добавлен только необходимый файл обеспечения и протестирован. Работает нормально.
Это означает, что вам нужно выполнить одно из следующих действий:
Решением проблемы №2, когда вы не можете получить сертификат и файл .p12 от создателя, было бы просто установить флажок «Автоматически управлять подписанием».
Это происходит потому, что профиль обеспечения не может найти файл для сертификата, с которым он связан.
Исправить:
Ошибка должна исчезнуть сейчас.
Эта проблема связана с тем, что закрытый ключ в сертификате в вашем профиле не совпадает с ключом в цепочке для ключей. Я разрешаю это
тот же ответ с проблемой подписания кода в Xcode версии 8 .