例子是由一个PlatFormView的Plugin,由于包太大无法发布。可以直接在iOS项目中集成。
Flutter在iOS中的运行原理也离不开原来的启动方式,还是要走Appdelegate,只不过不再继承于系统的,而是Flutter的FlutterAppDelegate,
image.png
也就是说所有的UIApplicationDelegate都将被拦截到Flutter里面。(这是我之前无法收到注册远程推送回调的原因)
如何使用不publish的plugin:
Flutter会走Delegate的
image.png
会在GeneratedPluginRegistrant里面注册Plugin,也就是我们可以用同样的方法注册平台Plugin。
在appdelegate这里注册Plugin,后面就可以通过dart直接调用
image.png
这是PlatformView工厂,需要自己重写工厂。
image.png
网友评论