Flutter SQLite应用Android正常,iOS模拟器编译报错求助
Flutter iOS模拟器编译报错:找不到libarclite_iphonesimulator.a的解决方法
问题原因
这个错误是Xcode 14及以上版本移除了对iOS 10及以下版本的ARC(自动引用计数)默认支持导致的。sqflite依赖的原生组件可能默认设置了较低的iOS部署目标,导致编译时找不到对应的arclite库。
解决步骤
1. 调整iOS项目部署目标
- 打开项目的
ios/Runner.xcworkspace - 在Xcode中选中
Runner项目,切换到General标签页,找到Deployment Info,将iOS Deployment Target设置为11.0或更高版本
2. 修改Podfile强制统一部署目标
- 打开项目根目录下的
ios/Podfile - 在文件末尾的
post_install钩子中添加以下代码,确保所有Pod依赖的部署目标与项目保持一致:post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' end end end - 执行命令更新Pods:
cd ios && pod install
3. 清理缓存重新编译
- 回到项目根目录,执行清理命令:
flutter clean - 删除ios目录下的
Pods文件夹和Podfile.lock文件 - 重新执行
pod install后,运行项目:flutter run
补充说明
你提供的SQLHelper和main.dart代码逻辑没有问题,这个错误属于iOS编译环境配置问题,与SQLite的业务实现无关。按照上述步骤调整后,iOS模拟器应该能正常编译运行。
内容的提问来源于stack exchange,提问作者user21233522
相关产品推荐
相关产品推荐

