You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加SQLite支持后Flutter iOS构建失败,Android正常

Flutter iOS构建失败:'sqlite3.h'文件找不到问题解决

问题背景

Android端构建运行正常,添加SQLite支持后iOS端构建报错,提示'sqlite3.h' file not found,但文件实际存在于./Pods/sqlite3/sqlite-src-3430100/sqlite3.h,已尝试rm Podfile.lock、pod install --repo-update、flutter clean等常规操作无效。

解决方案

方案1:修改Podfile添加头文件搜索路径

在Podfile的post_install块中,为SQLiteObjc target手动添加sqlite3头文件的搜索路径:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    
    # 为SQLiteObjc添加sqlite3头文件路径
    if target.name == 'SQLiteObjc'
      target.build_configurations.each do |config|
        config.build_settings['HEADER_SEARCH_PATHS'] ||= []
        # 替换为你实际的sqlite-src版本目录
        config.build_settings['HEADER_SEARCH_PATHS'].append('$(PODS_ROOT)/sqlite3/sqlite-src-3430100')
      end
    end
  end
end

修改后执行以下命令:

cd ios
pod install
cd ..
flutter clean
flutter run --debug

方案2:升级CocoaPods版本

当前使用的CocoaPods 1.13.0可能与Xcode 15存在兼容性问题,升级到最新稳定版:

sudo gem install cocoapods

然后重新执行pod install --repo-update和flutter构建命令。

方案3:升级SQLite相关Flutter插件

确保使用的SQLite插件(如sqflite)为最新版本,执行:

flutter pub upgrade sqflite

之后重新处理pod依赖:

flutter clean
cd ios
pod install --repo-update
cd ..
flutter run --debug

方案4:手动在Xcode中配置搜索路径

  1. 打开ios/Runner.xcworkspace
  2. 在左侧导航栏找到Pods项目,展开后选择SQLiteObjc target
  3. 切换到Build Settings标签,搜索Header Search Paths
  4. 添加路径$(PODS_ROOT)/sqlite3/sqlite-src-3430100(根据实际目录调整),可设置为recursive
  5. 保存配置后,重新执行flutter run --debug

注意事项

  • 操作前确保删除Podfile.lock和ios/Pods目录,避免缓存干扰
  • 确认Xcode的Command Line Tools版本与Xcode版本一致(Xcode -> Settings -> Locations)

内容的提问来源于stack exchange,提问作者Jürgen Jatzkowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 18:42:51