1 pub插件库需要设置镜像地址,不然会被墙。
2 ios启动页只能用storyBoard,设置launch启用页的话会有1秒左右黑屏。
3 需要分别配置ios和安卓端需要的权限,例如相机,相册,http请求等。
4 官方提供的webView插件,不弹出键盘(最新版本已修复),而且如果webview页面有js交互操作,例如点击按钮弹出选项框,会引起程序的crash。
5 使用androidStudio开发经常会卡顿,使用vscode开发效率提升明显,但是经常遇到格式化代码出现乱码现象。
6 使用flutter pub get或flutter pub upgrade操作时,最好使用命令行,如果用AS等工具的话,可能或锁死线程,无法取消(重启电脑也不行)。
7 dart的语言类型为强类型,不会做自动推导转换,比如定义一个List类型,传入值为dynamic,会报错,而不会自动转。
8 androidX是个分水岭,有的插件不支持androidX,而有的支持,但是如果不适配androidX的话,程序会报错,跑不起来,所以从技术更新的角度,最好都选择适配过androidX的插件。
9 在ios端,插件是以pods的形式引入的,假如需要原生支持,必须配置pods目录下的podspec文件,但是如果要依赖的插件又依赖另一个第三方插件,这样会产生一个依赖链,有时项目中有莫名的冲突或报错,难以发现。
10 flutter随着版本的升级,语法会出现改动,以及其他各种问题,例如从1.9.1升级到1.13以后,项目直接就跑不起来了。
11 flutter项目通过Charles直接抓包的话,是看不到数据的,需要在代码中设置代理。
12 很多手机常用的功能,还是必须依赖原生的,例如消息推送,微信QQ等第三方支付,分享,地图等业务,必须依赖原生提供插件。
13 如要调试ios端app,还得必须用mac系统,因为调试ios还是离不开xcode配置证书,描述文件等,而只是用windows系统开发是兼顾不到ios的。
14线上的flutter项目崩溃,难以收集到日志。
15打包编译ios包时,需要执行flutter clean命令,不然机审时会报错:使用了私有api。
未完待续。。