Детоксикационная сборка с react-native завершается неудачно из-за GoogleUserMessagingPlatform?

#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.