Flutter配置tflite_flutter iOS环境时找不到.pub-cache下对应包文件夹
解决方案
问题根因
你使用Git源引入tflite_flutter依赖,而非pub.dev官方托管源,因此插件不会被缓存到~/.pub-cache/hosted/pub.dartlang.org/目录下,Git来源的依赖默认存放在~/.pub-cache/git/路径中。
可选解决方案
方案1:适配当前Git源配置
- 打开终端执行命令,查找插件的实际缓存路径:
find ~/.pub-cache/git -name "tflite_flutter_plugin*" - 进入输出路径下的
ios目录,将TensorFlowLiteC.framework放入该目录 - 回到你的Flutter项目根目录,依次执行:
flutter clean flutter pub get
- 重新编译iOS项目即可
方案2:切换为pub.dev官方源(更稳定,推荐)
- 删除pubspec.yaml中
tflite_flutter的Git源配置,替换为官方版本依赖:
dependencies: tflite_flutter: ^0.9.0
- 执行
flutter pub get,此时插件会自动缓存到~/.pub-cache/hosted/pub.dartlang.org/tflite_flutter-0.9.0/路径,按官方文档要求把TensorFlowLiteC.framework放入对应ios目录即可
额外优化建议
如果不想每次清空/修复pub缓存后都重新复制framework,可以直接将TensorFlowLiteC.framework放到你自有项目的ios/Frameworks目录下,在Xcode中打开项目,依次做如下配置:
- 进入项目配置页的「Build Phases」->「Link Binary With Libraries」,手动添加该framework
- 进入「Build Settings」->「Runpath Search Paths」,添加配置项
$(PROJECT_DIR)/Frameworks
该配置不需要修改pub缓存目录内的文件,适配性更强。
内容的提问来源于stack exchange,提问作者Zero Live
相关产品推荐
相关产品推荐

