Flutter iOS模拟器报IPHONEOS_DEPLOYMENT_TARGET设为8.0错误如何解决
问题根因
你主项目配置、Podfile全局平台版本、Runner项目的IPHONEOS_DEPLOYMENT_TARGET均已设置为9.0+,触发警告的原因是部分第三方Pod依赖包内部硬编码了8.0作为最低部署目标,默认的post_install配置未覆盖修正这部分设置。
解决步骤
- 修改Podfile中的post_install代码段,强制所有Pod的部署目标不低于你项目的最低支持版本,替换原有post_install段为以下内容:
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 统一所有Pod的最低iOS部署目标为9.0,可根据你的项目需求调整为更高版本 target.build_configurations.each do |config| if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 9.0 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' end end end end
- 清理项目缓存并重新安装依赖,在项目根目录依次执行以下命令:
flutter clean flutter pub get cd ios rm -rf Pods Podfile.lock pod install --repo-update
- 确认兜底配置(可选,出现异常时检查):
- 用Xcode打开
ios/Runner.xcworkspace,确认PROJECT层级和TARGETS下Runner的iOS Deployment Target均≥9.0 - 检查
ios/Flutter/Generated.xcconfig文件中是否存在IPHONEOS_DEPLOYMENT_TARGET字段,若存在则值需≥9.0
- 用Xcode打开
完成以上操作后重新运行项目即可消除该警告。
内容的提问来源于stack exchange,提问作者Kevin Yang
相关产品推荐
相关产品推荐

