Подтвердить что ты не робот

Ошибка 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 и запросить другой сертификат, но проблема не устранена.

Кто-нибудь знает, как это можно исправить?

4b9b3361

Ответ 1

Вложенный двоичный файл относится к виджету, который вы развертываете вместе с вашим приложением.

В вашем случае вы не подписываете свой виджет с любым идентификатором подписи (так как в вашей ошибке говорится "Not Code Signed" ).

Чтобы решить эту проблему, перейдите в файл проекта, найдите цель своего виджетов и на вкладке "Настройка сборки" найдите значение "Идентификация кода". Выберите тот же идентификатор подписи кода, который вы используете для своей основной цели приложения.

Вам также нужно будет создать и настроить профиль подготовки специально для вашего виджета, когда вы хотите его выпустить.

Ответ 2

Иногда ни одно из решений в Stackoverflow не работает. В таком случае,

Решение

  1. Убедитесь, что в любой из разделов функций Signing (Debug), Signing (Release) и Enabled нет никаких красных отметок/проблем, как в MainApp, так и в EmbeddedApp
  2. Удостоверьтесь, что оба сертификата и профили обеспечения установлены в логической/системной цепочке ключей.

enter image description here

  1. Убедитесь, что ваш сертификат никогда не устанавливается как " Всегда доверять". Доступ должен быть сохранен как 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