上午本来还没有问题,在执行打包.ipa过程中发现有个地方没有修改,就取消打包了,然后再次运行就开始报这个错: ‘Flutter/Flutter.h‘ file not found
我感觉是有缓存问题,把各个地方的缓存都清理了都不管用,最后各种百度才知道了 应该把
ios / Flutter / Flutter.framework 文件删掉,然后重新pod install 一下就可以了。
一、普通的解决方法:
1.直接删除Podfile.lock文件,再运行Android Studio;
2.再或者来个flutter clean,或者xcode中clean(快捷键 Command + Shif + K),和执行下pod install,这样基本都能愉快的解决问题。
但是不是每次都能愉快的解决,那么第二种方法:
二、非常规的解决方法:
1.对比Android Stuido中的ios文件夹下的文件,发现,Headers和Modules等文件是没有的。如图
异常情况下,红色条的位置是没有的。。。整个整个文件没有了。
这是flutter和pod install的一个bug,在flutter做pod install安装依赖时,同步Flutter中的framework文件导致framework文件的丢失,一旦某一次卡主了,丢失了,后续基本再执行pod install命令是只能安装用户指定的依赖,但是不能同步Flutter中framework的文件。这个不知道是flutter低版本的问题还是pod install低版本的问题,或者是两者版本兼容的问题。。。(但是目前来看真的不要轻易升级flutter,很痛苦),现在还找不到为什么会产生这种问题(flutter问题真的太多),这个是我在做开发时,提交了几次代码之后出现的,旁边的两个同事的电脑运行都是ok的,同时,我的电脑中其他的项目运行也都是ok的。
2.既然文件没有了,我们可以直接从其他的项目中直接复制这些文件到当前Flutter/framework目录就行了。如果确实没有其他项目,直接新建一个FLutter项目,对应复制。然后再clean就行了,最后运行下,Flutter中的framework自然会同步。
如图,将右侧项目的对应文件(标红的)直接复制到左侧项目(报错的)的对应文件夹下,再运行就ok了。
总结,Flutter真的有很多莫名其妙的问题,运行着好好的,啥也不干,再去运行的时候就报错,各种报错。。。
平时flutter项目中遇到问题,我们用的最多的方法就是:
1、flutter clean清理;
2、Android Studio中File--Invalidate Caches / Restart--Invalidate and Restart清理、或AS重启;
3、xcode中的Command+Shift+K清理;
4、重新插拔手机;
5、重新启动手机;
6、重启电脑;
7、重启xcode;
8、删除Podfile.lock文件重新运行;
9、执行pod install安装等等
参考链接:https://blog.csdn.net/wangyajuncsd/article/details/104539298