Ошибка Illegal Instruction 4 при запуске модульных тестов в Xcode

Недавно я обновился до Xcode 12.3 и нашел обходной путь для запуска зависимостей Carthage. Сборка в порядке, но когда я запускаю тесты, я получаю ошибку Illegal Instruction 4. Я предполагаю, что проблема с архитектурой руки вызывает эту проблему. Я использую Quick и Nimble из Carthage, и они используются при тестировании. Я попытался установить исключающие арки и проверить арки на «да», но ни один из них не работал.

Я не могу переместить библиотеки из carthage в pods или spm, потому что в библиотеках очень много конфигураций. Обновление до новой версии Xcode - это такая боль, особенно если вы используете Carthage.

ОБНОВЛЕНИЕ:

Я загрузил версию 0.37 для carthage и внедрил в проект xcframeworks. Чтобы запустить зависимости для xcframeworks, я запускаю следующую команду:

carthage bootstrap --use-xcframeworks --no-use-binaries --platform ios

person jorjj    schedule 04.02.2021    source источник


Ответы (1)


Если вы можете использовать Carthage 0.37.0 и XCFrameworks, тогда этот ответ может быть для вас ценным ???? В этом Кроме того, они добавили поддержку XCFrameworks, и я считаю ее весьма удобной в использовании. Тем более, что этот популярный обходной путь наконец-то можно снова удалить.

person blackjacx    schedule 08.02.2021
comment
Спасибо за ваш ответ. Я попробовал новую версию Carthage и теперь получаю ошибку с кодом выхода 65 на одной из моих зависимостей. Что я делаю неправильно? - person jorjj; 09.02.2021
comment
Можете ли вы предоставить полную продукцию Carthage, пожалуйста? - person blackjacx; 09.02.2021
comment
Это ошибка, которую я получаю. Библиотека, которую я называю, - это мой собственный sdk. Сбой задачи с кодом выхода 65: -sdk iphoneos ONLY_ACTIVE_ARCH = NO CODE_SIGNING_REQUIRED = NO CODE_SIGN_IDENTITY = CARTHAGE = YES архив VALIDATE_WORKSPACE = NO -archivePath / SKIP_INSTALL = YES GCC_INSTRUMENT_PROGRAM_NODUCT_PROGRAM_FLOW_INSTRUMENT_PROGRAM_FLOW_FLOW_INSTRUMENT_PROGRAM_FLOW_FLOW сам проект не скомпилировался. - person jorjj; 09.02.2021
comment
В выводе carthage у вас есть файл журнала xcodebuild. Он должен показать вам, что произойдет, когда Carthage построит ваш фреймворк. Обычно это означает, что у вас есть ошибка конфигурации в вашем фреймворке. - person blackjacx; 09.02.2021
comment
Спасибо за помощь. Я удалил скрипты для Carthage и очистил старые библиотеки. sdk и проект работал хорошо. - person jorjj; 09.02.2021