Flutter编译iOS模拟器报错:PhoneNumberKit部署版本不兼容
解决Flutter iOS模拟器编译时的PhoneNumberKit部署版本不兼容问题
问题核心
你的Flutter项目当前设置的iOS最低部署版本是11.0,但依赖的PhoneNumberKit库最低要求iOS 12.0,导致Swift编译器版本不兼容,触发SwiftEmitModule执行失败。
解决方案1:升级项目iOS最低部署版本(优先推荐)
- 打开项目根目录下的
ios/Podfile文件,找到行platform :ios, '11.0',修改为:platform :ios, '12.0' - 执行以下命令清理缓存并重新构建:
flutter clean cd ios pod deintegrate pod install cd .. flutter run
解决方案2:强制修改PhoneNumberKit的部署版本(需保留iOS 11.0时使用)
如果项目必须兼容iOS 11.0,可在Podfile中强制调整PhoneNumberKit的部署目标:
- 打开
ios/Podfile,在文件末尾添加以下代码:post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'PhoneNumberKit' target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' end end end end - 执行清理和重新安装命令:
flutter clean cd ios pod install cd .. flutter run
内容的提问来源于stack exchange,提问作者Gauri Shankar
相关产品推荐
相关产品推荐

