Mac M1执行npm run ios运行React Native iOS项目Ld构建命令失败
针对Mac M1设备React Native iOS端Ld链接报错解决方案
1 Xcode架构适配配置
- 打开项目
ios目录下的SagaReserve.xcworkspace文件(若未使用CocoaPods则打开SagaReserve.xcodeproj) - 选中根项目
SagaReserve,切换到「Build Settings」标签,找到「Excluded Architectures」配置项 - 分别为Debug、Release模式下的
Any iOS Simulator SDK添加值arm64 - 为了避免每次执行
pod install后配置被重置,可在Podfile末尾添加如下自动配置代码:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' end end end
2 全量清理缓存并重新安装依赖
执行以下命令清理所有相关缓存:
rm -rf ~/Library/Developer/Xcode/DerivedData/* rm -rf ios/Pods ios/Podfile.lock rm -rf node_modules package-lock.json yarn.lock
依次重新安装依赖:
npm install cd ios && arch -x86_64 pod install
3 第三方依赖架构校验
如果经过上述操作仍然报错,检查项目集成的第三方静态库(.framework/.a后缀文件)是否支持模拟器架构,可通过如下命令查看库支持的架构:
lipo -info 你的静态库文件路径
若输出结果不包含x86_64或模拟器版arm64,则需要联系库开发者更新兼容版本,或者暂时使用真机调试规避该问题。
内容的提问来源于stack exchange,提问作者Haren Sarma
相关产品推荐
相关产品推荐

