记录Flutter开发过程中踩过的坑

1、在iOS真机上运行sqflite demo的时候,发现iOS工程中Flutter目录下Debug.xcconfig 、Release.xcconfig、AppFrameworkInfo.plist 三个文件缺失的,网络上各种重新编译方法对于这个项目来说都不无法解决问题,

文件缺失.png

新建一个新工程发现Debug.xcconfig 、Release.xcconfig、文件里面只有两行代码,并没有特殊的地方

#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"

于是将这三个文件从新工程中copy过来,直接copy到和Generated.xcconfig同级目录下,重新运行flutter工程,问题解决了。

2、iOS真机运行flutter工程卡在Installing and launching...
先在终端运行 flutter doctor 看看有什么问题没,再用Xcode 直接运行iOS工程,看看能不能跑起来,这两步排除大部分问题
最后我遇到的问题是,升级完Xcode12.3 Android Studio 4.1 手机升级到iOS14.3后 运行Flutter工程一直白屏,卡在Installing and launching... 这一步
解决方案:
运行flutter doctor提示 NO Proxy

于是 打开.bash_profile 文件,编辑新增 export no_proxy=localhost,127.0.0.1
保存,然后更新配置的环境变量,终端运行 `source .bash_profile
退出Android Studio 重新打开运行就好啦

3、遇到Flutter.framework 中的某些头文件找不到
比如FlutterMacros.h FlutterBinaryMessenger.h等,执行flutter docter检查又是正常的,将iOS中的pod 文件删除,然后pod install,会重新Flutter.framework
然后flutter clean 再 flutter build ios

4、FPS性能监控问题
iOS设备商运行Flutter工程,可以借助Xcode的instrument监控内存、CPU、FPS等性能数据,这里想要说明的是Xcode 的FPS监控Flutter项目是不准确的,特别是视频播放的时候


WBVideoDemo PID 16033 ①.png
Runner PID 16093.png

上图是Native纯iOS项目,在播放视频的时候FPS只有25到30,但是页面其实是没有任何卡顿的,我们的Flutter项目基于此进行plugin封装,相应的FPS也是30左右,下图是ijkplayer的Flutter demo,通过Xcode直接获取不到FPS,Flutter侧获取PFS还是需要通过DevTools更准确,DevTools的使用可以看我之前的文章Flutter应用如何调试--DevTools介绍(中),或者欢迎留言与我交流。

你可能感兴趣的:(记录Flutter开发过程中踩过的坑)