该构建在Android和IOS中的调试中都可以正常工作。 Android版也可以正常运行。但是通过XCode运行IOS版本会导致错误,您可以在日志中看到以下信息。
遵循这些步骤后构建失败
在新克隆的应用上
npm install // No errors
cd ios/pod update/install // No errors
cd ../react-native run-ios // No errors runs in simulator without any problems
Bundle upp app
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
Run vihor.xworkspace - open XCode
In AppDelegate.m Replace line
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
with
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
Navigate to product/scheme/edit scheme
set Build Configuration to Release
Run Product/Clean = Success
Run Product/Build (selected device Generic iOS Device) = Fail
(see image below)
Generic iOS Device = Symbol(s) not found for architecture amv7
Error Linker command failed with exit code 1
环境 Xcode版本9.2(9C40b) react-native-cli 2.0.1 反应本色0.57.1
答案 0 :(得分:0)
问题是使用了包,react-native-ffmpeg,我使用了full-gpl版本。但是此版本不支持32位设备。简单更新为full-gpl-lts可以达到目的