#react-native #jestjs #cocoapods #react-native-ios #detox
#react-native #jestjs #cocoapods #react-native-ios #детоксикация
Вопрос:
Я не могу заставить работать когда-то работающую сборку детоксикации с React-Native. Ошибка, похоже, начинается с этого:
PhaseScriptExecution [CP] Copy XCFrameworks /my-project/ios/build/Build/Intermediates.noindex/Pods.build/Release-iphonesimulator/GoogleUserMessagingPlatform.build/Script-75B045B5FA23A64D503F12601136A594.sh (in target 'GoogleUserMessagingPlatform' from project 'Pods')
cd /my-project/ios/Pods
/bin/sh -c /my-project/ios/build/Build/Intermediates.noindex/Pods.build/Release-iphonesimulator/GoogleUserMessagingPlatform.build/Script-75B045B5FA23A64D503F12601136A594.sh
warning: [CP] Unable to find matching .xcframework slice in '/my-project/ios/Pods/GoogleUserMessagingPlatform/Frameworks/Release/UserMessagingPlatform.xcframework UserMessagingPlatform framework ios-armv7_arm64_arm64e ios-i386_x86_64-simulator' for the current build architectures (arm64 x86_64).
А затем ближе к концу происходит сбой с:
ld: warning: directory not found for option '-F/my-project/ios/build/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/UserMessagingPlatform'
ld: framework not found UserMessagingPlatform
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я нахожусь на последней версии большинства вещей — 0.63.3 из RN, CocoaPods 1.10.0, XCode 12.1.
Ответ №1:
Для меня изменение команды сборки .detoxrc.json для включения
EXCLUDED_ARCHS=arm64
аля
"build": "xcodebuild -workspace ios/MyProject.xcworkspace -scheme MyProject -configuration Release -sdk iphonesimulator -derivedDataPath ios/build EXCLUDED_ARCHS=arm64 DETOX=1",
Комментарии:
1. Пожалуйста, обратите внимание, что это не связано с Detox. Все, что делает Detox, это вызывает команду сборки, которую вы предоставляете.
2. Согласен. Я думаю, это просто потому, что сборки xcode в IDE должны быть «умнее» в отношении того, что происходит, чем CLI.