Xcode 8 показывает ошибку, что профиль обеспечения не включает сертификат подписи.
Эта проблема связана с Xcode-8 только с Xcode 7, тот же профиль обеспечения, показывающий связанный идентифицированный сертификат.
ios
iphone
xcode8
provisioning-profile
Сатиш Мавани
источник
источник
Ответы:
Есть много способов исправить это, например, включить автоматическую подпись и т. Д. Но если вы хотите понять причину этой ошибки, вам нужно взглянуть на сообщение об ошибке.
В нем говорится, что профиль обеспечения, выбранный вами на «вкладке Общие», не содержит сертификат подписи, который вы выбрали в «Настройках сборки» -> «Идентификация подписи кода».
Обычно это происходит, если для идентификатора отладки был выбран сертификат распространения в «Настройках сборки» -> «Идентификация подписи кода».
Если это происходит в разделе «Подписывание (отладка)», это также может означать, что «Идентификация подписи» -> «Разработка 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
Ответь на два вопроса и вуаля:
Наконец, перейдите в Build Settings -> Signing и переключитесь на вновь созданный профиль обеспечения, имя которого вы только что увидели в выводе команды.
Этот пример для проблемы подписи кода разработки (работает на устройстве). Проверьте документацию вздоха для всех других вариантов.
источник
Была такая же ошибка. Профили кажутся обновленными, добавляются новые сертификаты, я даже проверял это при загрузке. Также отозваны сертификаты бывшего разработчика, исключены из профиля предоставления. Но Xcode все еще спрашивает меня о предыдущих сертификатах с ошибкой:
Итак, что я сделал, чтобы это исправить:
Build Settings
->Signing
->Code Signing Identity
Надеюсь, это кому-нибудь поможет.
источник
В моем случае в цепочке для ключей у меня было два сертификата с одним и тем же именем, я удалил один сертификат, который является дубликатом, и это решило проблему.
источник
«Включить автоматическую подпись», а затем выбор команды из выпадающего меню помогли мне решить эту проблему.
источник
источник
Xcode 11
Это ошибка, которую я получил
Теперь 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:
Я создал новый сертификат, который отозвал предыдущий сертификат (локально и на любом другом компьютере разработчика). Чтобы это работало, я должен загрузить новые профили обеспечения.
Решение состоит в том, чтобы:
Лично у меня не было такого доступа. Этот доступ был доступен только для администратора нашей команды, поэтому у меня нет скриншотов, и я не уверен, что эти шаги на 100% правильные.
источник
Я еще не упоминал об этом, но если у вас все еще есть проблемы после воссоздания ваших профилей обеспечения, удаления существующих в вашей папке Provision Profiles, проверки на наличие ошибок в вашей цепочке для ключей и т. Д. (Все другие ответы ITT), откройте свой Target> Build Settings> Code Signing и убедитесь, что все выглядит согласованно. Например, я изменил «Идентификатор подписи кода для отладки» на «Распределение», что, очевидно, не сработает, поскольку профиль обеспечения разработки не имеет сертификата распространения и изначально вызывал ошибку.
источник
Если вы пытаетесь загрузить свое приложение в iTunes Connect (для ваших профилей обеспечения задано Распределение), выберите «Настройки проекта» -> «Настройки сборки» -> «Подписание кода». Обязательно установите все параметры отладки и выпуска в свой профиль обеспечения распространения.
источник
Проблема, кажется, начинает происходить в Xcode 11 .
перейдите в Xcode -> Настройки-> Учетные записи-> Загрузить профили вручную
источник
Вот шаги, решенные для меня (для тех, кто сталкивается с той же проблемой в XCode 9.2):
Просто вручную удалили локальные профили в ~ / Library / MobileDevice / Provisioning Profiles.
Удалил и создал все сертификаты и профиль обеспечения из аккаунта разработчиков.
Удалил аккаунт разработчиков из Xcode и заново его добавил.
Решил мою проблему! :-)
источник
Нажатие, но затем отмена «Включить автоматическую подпись» работало для меня, хотя фактическое изменение было:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
или в Xcode это называется
Always Embed Swift Standard Libraries
источник
У меня была та же проблема, и причина была копейка. В настройках сборки был выбран неправильный профиль и сертификат. Я только сделал это до нескольких дней. Таким образом, вам не нужно включать «автоматический» внутри XCode. Проверьте профили в настройках сборки, прежде чем делать это.
источник
Попробуйте загрузить сертификаты / профили непосредственно из центра участников, а не делать это из Xcode.
Это сработало для меня, когда я вручную загрузил их из членского центра.
источник
Я боролся с этим в течение многих дней.
Шаг 1. Удалите все сертификаты, профиль обеспечения, appID, ключ и т. Д. Из учетной записи разработчика.
Шаг 2. Создайте сертификаты push-уведомлений, профиль обеспечения, идентификатор приложения и т. Д.
Шаг 3: Удалил все сертификаты из цепочки для ключей.
Шаг 4. Очистите весь профиль обеспечения из ~ / Library / MobileDevice / Provisioning Profiles.
Шаг 5: Добавлен только необходимый файл обеспечения и протестирован. Работает нормально.
источник
Это означает, что вам нужно выполнить одно из следующих действий:
Решением проблемы №2, когда вы не можете получить сертификат и файл .p12 от создателя, было бы просто установить флажок «Автоматически управлять подписанием».
источник
Это происходит потому, что профиль обеспечения не может найти файл для сертификата, с которым он связан.
Исправить:
Ошибка должна исчезнуть сейчас.
источник
Эта проблема связана с тем, что закрытый ключ в сертификате в вашем профиле не совпадает с ключом в цепочке для ключей. Я разрешаю это
тот же ответ с проблемой подписания кода в Xcode версии 8 .
источник