执行npx react-native run-ios启动iOS模拟器出现架构警告如何解决
适配解决方案
这个报错是RN 0.65版本的架构配置和Xcode 11、Mojave系统的模拟器编译规则不匹配导致的,可按以下步骤修复:
1. 调整Podfile配置
- 打开项目
ios目录下的Podfile,找到末尾的post_install钩子,替换或补充为以下配置:
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['ARCHS'] = '$(ARCHS_STANDARD)' end end end
- 保存文件后,在
ios目录下执行命令pod install --repo-update更新Pods配置。
2. 校验Xcode项目配置
- 用Xcode打开项目后缀为
.xcworkspace的文件 - 选中左侧根项目,切换到「Build Settings」标签:
- 找到
Architectures配置项,设置值为$(ARCHS_STANDARD) - 找到
Excluded Architectures配置项,为「Any iOS Simulator SDK」添加值arm64 - 找到
Valid Architectures配置项,确认包含x86_64、i386两个模拟器架构值
- 找到
3. 清理缓存重新编译
- 执行以下命令清空本地编译缓存:
rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf ios/build
- 回到项目根目录执行
npx react-native run-ios重新编译运行即可,若依旧报错可指定旧版模拟器运行:npx react-native run-ios --simulator="iPhone 11"
内容的提问来源于stack exchange,提问作者Encang Cutbray
相关产品推荐
相关产品推荐

