Ошибка iOS "Встроенный двоичный файл не подписан с тем же сертификатом, что и родительское приложение"
Это мои первые шаги в разработке приложений IOS, и я столкнулся с некоторыми проблемами, которые я не могу понять.
error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target code sign settings match the parent app's.
Embedded Binary Signing Certificate: Not Code Signed
Parent App Signing Certificate: iPhone Developer: Emil Adz (9QNEF95395)
Я не могу понять, что такое сертификат встроенного бинарного подписи?
Я затронул вопросы с той же ошибкой здесь, но ни один из них не был связан с проблемой, представленной здесь (Not Code Signed).
Я попытался отозвать свой сертификат из Центра разработчиков Apple Developer и запросить другой сертификат, но проблема не устранена.
Кто-нибудь знает, как это можно исправить?
Ответы
Ответ 1
Вложенный двоичный файл относится к виджету, который вы развертываете вместе с вашим приложением.
В вашем случае вы не подписываете свой виджет с любым идентификатором подписи (так как в вашей ошибке говорится "Not Code Signed" ).
Чтобы решить эту проблему, перейдите в файл проекта, найдите цель своего виджетов и на вкладке "Настройка сборки" найдите значение "Идентификация кода". Выберите тот же идентификатор подписи кода, который вы используете для своей основной цели приложения.
Вам также нужно будет создать и настроить профиль подготовки специально для вашего виджета, когда вы хотите его выпустить.
Ответ 2
Иногда ни одно из решений в Stackoverflow не работает. В таком случае,
Решение
- Убедитесь, что в любой из разделов функций Signing (Debug), Signing (Release) и Enabled нет никаких красных отметок/проблем, как в MainApp, так и в EmbeddedApp
- Удостоверьтесь, что оба сертификата и профили обеспечения установлены в логической/системной цепочке ключей.
![enter image description here]()
- Убедитесь, что ваш сертификат никогда не устанавливается как " Всегда доверять". Доступ должен быть сохранен как Use System Default
![enter image description here]()
Ответ 3
Кажется, что эти проблемы появляются в Xcode 10, и разрешение отличается от вышеупомянутого.
Мне удалось исправить (или, скорее, обойти) ошибку, установив в Build System значение Legacy (через "Файл"> "Параметры рабочего пространства")
Еще одна интересная вещь, на которую следует обратить внимание, это то, что ошибка подписи не возникнет, если я собирался на фактическое устройство (то есть до изменения системы сборки на Legacy). Это происходит только при сборке с использованием симулятора и только в Xcode 10 beta 3, 4 и 5.
Ссылка на оригинальную тему: https://forums.developer.apple.com/thread/105537
Ответ 4
Эта ошибка также отображается, когда цель развертывания вашего расширения "Сегодня" новее, чем родительское приложение. Они должны быть одинаковыми.
У меня есть приложение для iOS, равное 10.0, и добавлено расширение Today, которое было автоматически установлено на 11.4 как последнее. Это вызвало появление ошибки. Простое изменение цели развертывания цели расширения до 10.0 разрешило проблему.
Ответ 5
У меня возникла эта проблема, когда я перешел на Xcode 10 и мне удалось ее исправить, обновив архитектуры в "Настройках сборки"> "Допустимые архитектуры" для Наблюдать за целью до
$(ARCHS_STANDARD)
Эта тема очень помогла мне: https://forums.developer.apple.com/thread/107563
Ответ 6
Свифт 5. Простой способ в моем случае проверить этот снимок экрана, я сделал
![enter image description here]()
Ответ 7
Я получил эту ошибку, когда группы приложений были настроены неправильно во всех моих идентификаторах приложений в портале разработчиков. Поэтому группы приложений в приложении не работали правильно, а двоичный файл для расширения или приложение Watchkit не могли быть подписаны.
Ответ 8
Как ни странно, мне пришлось удалить папку с продуктами из моего проекта, чтобы исправить эту ошибку. Xcode разбился, после того, как он снова появился, работал как шарм!
Ответ 9
Я получил эту ошибку после добавления фазы сборки Copy Files
в основное приложение Target.
Скопировать файлы
Назначение: Absolute Path
Путь: /Applications
Файл: MyApp.app
Это сработало при первом запуске приложения.
На последующих запусках Xcode начал жаловаться на несоответствие сертификата.
Удаление фазы сборки файлов копий устраняет несоответствие сертификата. Я все еще ищу способ копирования файлов без ошибки.
То же самое касается ссылок:
Ответ 10
Я получил эту ошибку, имея еще одну ошибку времени компиляции в моем коде.
Моя новая цель никогда не строилась раньше.
Поэтому я решил сначала исправить эту ошибку. Но оказалось, что исправление другой ошибки позволило Xcode построить цель и исправить другую ошибку.
Ответ 11
Проверьте, есть ли у вас больше целей, таких как oneSignal или другие, и проверьте, есть ли у вас та же команда основной цели.
Ответ 12
Я получал эту ошибку, пытаясь создать приложение WatchOS в Xcode 11 - я попробовал все различные предложения в этой и других публикациях SO, но в конечном итоге сработало переключение Xcode для использования устаревшей системы сборки.
Перейти к: Файл | Настройки проекта (или рабочего пространства) | Система сборки
И выберите Legacy Build System