React Native应用iOS版本及iOS模拟器版本配置异常问题咨询
问题原因
你遇到的两个异常分别对应两个独立的配置问题:
- 仅下载iOS 13.7模拟器镜像不会自动生成对应版本的模拟器设备,需要手动添加才会出现在运行可选列表中
- 应用崩溃的核心原因是React Native依赖的Pods库默认部署目标版本过低:你在Podfile中指定了全局iOS版本为11.0,但部分旧依赖(如
boost-for-react-native)的默认IPHONEOS_DEPLOYMENT_TARGET仍为8.0,Xcode 12.4已不支持8.0作为部署目标,运行时触发崩溃
解决方案
第一步:修复Pods部署目标不匹配问题
修改你的Podfile中的post_install钩子,强制所有Pods的部署目标和全局配置对齐,修改后的完整Podfile对应段如下:
post_install do |installer| flipper_post_install(installer) # 新增以下代码统一所有Pod的最低部署版本 installer.pods_project.targets.each do |target| target.build_configurations.each do |config| if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 9.0 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' end end end end
修改完成后进入项目ios目录,依次执行以下命令重置Pods配置:
pod deintegratepod install
第二步:添加iOS 13.7版本模拟器
- 打开Xcode,点击顶部菜单栏
Window > Devices and Simulators - 切换到
Simulators标签,点击左下角的+按钮 - 在弹出的创建窗口中,选择你需要的机型(如iPhone 12),OS版本下拉选择
iOS 13.7,点击Create即可完成添加,之后运行项目时就能在模拟器列表中看到该选项
第三步:校验项目全局部署配置
打开ios目录下的.xcworkspace文件,选中左侧项目根节点,在TARGETS列表中选中你的主项目(myapp),切换到General标签,确认Deployment Info下的iOS版本设置为11.0,和Podfile配置保持一致。
完成以上操作后重新运行项目,崩溃和警告都会消失。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

