Flutter iOS发布:Product>Archive报‘文件未找到’错误求助
解决iOS Archive时
cloud_firestore/CloudFirestorePlugin.h文件找不到的问题 嘿,这个坑我踩过好几次,也帮不少开发者搞定过,大概率是依赖构建或者Xcode配置出了问题,给你几个亲测有效的解决办法,按顺序试试:
先彻底清理项目,从头构建
这是最常见的解决方式,先把旧的缓存和构建文件清干净:- 先关掉Xcode,避免冲突
- 打开终端,进入你的Flutter项目根目录,依次执行这些命令:
flutter clean rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace flutter pub get cd ios && pod install --repo-update - 重新打开Xcode的时候,一定要打开
ios/Runner.xcworkspace(别选错成xcodeproj文件!),然后再尝试Product > Archive。
检查Podfile的关键配置
打开iOS目录下的Podfile,确认下面这两个配置是否存在,没有的话加上:platform :ios, '12.0' # Cloud Firestore要求的最低iOS版本是12.0,低于这个会出问题 use_frameworks! # Firebase相关插件需要启用这个选项才能正确导入头文件保存后回到终端,在iOS目录下重新执行
pod install,然后重启Xcode再试Archive。检查Xcode的Build Settings配置
如果上面两步没用,就去检查Xcode的头文件搜索路径:- 在Xcode中选中你的Runner目标,切换到
Build Settings标签页 - 搜索
Header Search Paths,确保里面包含$(inherited)和${PODS_ROOT}/Headers/Public,并且这两个路径的设置都是recursive(递归) - 同样搜索
Framework Search Paths,确认里面有$(inherited)和${PODS_ROOT}
- 在Xcode中选中你的Runner目标,切换到
尝试启用Firebase的模块化头文件
要是还是不行,可以在Podfile里添加Firebase的模块化头文件配置,强制插件使用正确的导入方式:pod 'Firebase', :modular_headers => true pod 'FirebaseFirestore', :modular_headers => true执行
pod install后,重新构建项目再试Archive。最后一招:更新依赖和Flutter版本
有时候旧版本的插件或者Flutter本身会有兼容性问题:- 打开
pubspec.yaml,把cloud_firestore的版本号改成最新的,然后执行flutter pub upgrade - 同时把Flutter更新到稳定版:
flutter upgrade - 再重复第一步的清理构建流程
- 打开
我自己用前两步解决过90%的类似问题,你可以一步步试过来,应该能搞定。
内容的提问来源于stack exchange,提问作者Xander
相关产品推荐
相关产品推荐

