开篇:

上一篇为大家介绍了如何将flutter工程嵌入到iOS原生工程中
iOS和Flutter混编系列一:如何在已有的iOS工程中添加Flutter工程
本次分享的内容是:混编后如何针对flutter部分的代码进行restart/reload 操作以及调试代码。flutter支持热重载,我们如果进行过纯flutter开发,就知道flutter的restart/reload 是非常方便的。

restart: command + shift + s
hot reload:command + s

然而到了混编的项目中,我们该怎么进行restart/reload操作呢?

正题:

1.首先需要连接一个手机或者启动一个iphone模拟器;
2.Xcode运行应用,进入到需要开发的flutter页面;
3.进入flutter项目,执行flutter attach

cd some/path/my_flutter
flutter attach

注意:如果目前启动了连接了真机也启动了多个模拟器,执行flutter attach的时候会提示你有多个设备,你需要指定特定的设备。

如果你使用的Android Stadio开发flutter页面,则可以直接使用AS中的terminal,这样就不需要在命令行和IDE之间来回切换了。

frc 7e4a7e88c15d60c6c7b2eac7792d6297 - iOS和Flutter混编系列二:混编后如何restart/reload&调试Flutter代码
flutter attach操作

得到上图的结果,表示已经启动了 Flutter CLI,现在就可以尝试修改一下flutter的代码,在命令行输入‘r’就会执行hot reload,输入‘R’则执行hot restart(会重置状态等)。
4.flutter代码调试(包括打断点、分析内存占用和一些其他的调试任务)
只需要复制上图中的链接到浏览器中,就可以进行调试操作。当然,调试界面还是很简陋的,有兴趣可以试试看。

frc 1b668181609bb2deef6662238cf76332 - iOS和Flutter混编系列二:混编后如何restart/reload&调试Flutter代码
调试界面

iOS和Flutter混编系列二:混编后如何restart/reload&调试Flutter代码