Сертификат подписи "iOS Distribution" не найден
Я пытаюсь подписать приложение сертификатами моего клиента. Я получил следующий файл от клиента
Я пытался установить ios_distribution
сертификат и ключ (.p12). Также я установил профиль обеспечения. Теперь, когда я пытаюсь подписать приложение с помощью профиля обеспечения, оно появляется в раскрывающемся списке, но я получаю следующую ошибку:-
No "iOS Distribution" signing certificate matching team ID "7S977Lxxx" with a private key was found
Как я могу решить эту проблему? Любая помощь приветствуется.
13 ответов
У меня была та же проблема, и я прошел через все эти решения, но ни одно из них не помогло мне. Но потом я осознал свою глупую ошибку. Я забыл изменить идентификатор подписи кода на iOS Distribution от iOS Developer, на вкладке настроек сборки. Пожалуйста, убедитесь, что вы выбрали "iOS Distribution" там.
Вам необходимо иметь закрытый ключ сертификата подписи в связке ключей вместе с открытым ключом. Вы создали сертификат, используя тот же Mac (связка ключей)?
Решение № 1:
- Отзыв сертификата подписи (сброс) с портала разработчика Apple
- Создайте сертификат подписи снова на том же Mac (связка ключей). Тогда у вас будет закрытый ключ для подписи сертификата!
Решение № 2:
- Экспортируйте подписывающие удостоверения из исходного кода xCode
- Импортируйте подпись на свой xCode
Документация Apple: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
Шаги решения:
Не установлен флажок "Автоматически управлять подписью".
Выберите "Профиль обеспечения" в разделе "Подписание (выпуск)".
Ошибка подписи сертификата не будет показана.
Тогда ниже ошибка имеет кнопку "Управление сертификатами". нажмите на кнопку.
- Это окно придет. Нажмите знак "+" и нажмите "Распространение iOS". xcode создаст закрытый ключ для вашего сертификата распространения и ошибка исчезнет.
Пробовал вышеуказанные решения безуспешно ... перезапуск моего Mac решил проблему ...
Apple обновила свое соглашение, поэтому мне пришлось
- зайти в Apple Connect
- принять соглашение
- Включить и выключить автоматическое управление входом
Я буквально только что перешел к «Подписание и возможности» для моей цели сборки и не предпринял никаких дальнейших действий , и следующая сборка сработала.
Простое посещение этого экрана, казалось, обновляло сертификат подписи.
Проблемой для нас было истечение срока членства в программе Apple Developer Program.
Я получил ошибку «Нет подписи сертификата» при запуске Xcode 11.3 на macOS 10.14.x Mojave. (но после того, как был выпущен Xcode 12.)
Я также использовал Fastlane. Мое исправление заключалось в том, чтобы установить
generate_apple_certs
к
false
при запуске Match. Похоже, это генерировало сертификаты подписи, которые были обратно совместимы с Xcode 11.3.
Документация по матчу - https://docs.fastlane.tools/actions/match/
Это соответствующий раздел моего Fastfile:
platform :ios do
lane :certs do
force = false
match(type: "development", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier.dev")
match(type: "adhoc", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier.beta")
match(type: "appstore", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier")
end
...
Я работаю в корпоративной компании, поэтому мы архивируем приложение не только на Mac. Проблема связана с количеством компьютеров. Вы должны заархивировать приложение Mac, которое было создано сертифицировано на связке ключей.
Идентификатор и профили одинаковы, но не забывайте, что вы создаете сертификат для каждой машины Mac.
Итак, нам нужно иметь столько же сертификатов, сколько компьютеров. Ссылка ниже полезна для создания сертификата.
https://blog.codemagic.io/how-to-code-sign-publish-ios-apps/
Дважды щелкните и установите производственный сертификат в цепочку ключей. Это может решить проблему.
Если вы уверены, что у вас есть сертификат. включены в ваш профиль подготовки, но проблема все еще возникает, попробуйте выполнить следующие шаги.
Отключите доступ к Интернету на вашем Mac.
Установите флажок Автоматическое управление подписью.
Снимите флажок Автоматическое управление подписью.
Включите доступ к Интернету на вашем Mac.
Ошибка должна исчезнуть.
Объяснение шагов:
Иногда xcode не мог синхронизировать настройки автоматически. Вышеуказанные шаги обновите его вручную.
Нашим решением было запустить
fastlane match
как я забыл, мы создали Matchfile.