Flutter自定义IOS的Plugin

539 阅读1分钟

前两篇讲过Flutter调用Android方法,仿照其它库写了个RongIMServerPlugin,这篇我们就来再仿照ios的第三方库再写一个RongIMServerPlugin!

我们打开Pods中的SharedPrefrences:

在这里插入图片描述

打开.h和.m两个文件:

在这里插入图片描述

在这里插入图片描述

我们只需照着模样写一个自己的就可以了,跟安卓一样,需要继承FlutterPlugin,并实现MethodCallHandler:

在这里插入图片描述

在这里插入图片描述

是不是很简单!

Plugin写完后,需要注册,如何注册,可以参考第三方库的注册方式(下面这两个是自动生成的):

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我们可以写一个自己的MyPluginRegistrant:

在这里插入图片描述

在这里插入图片描述

在AppDelegate中注册:

 GeneratedPluginRegistrant.register(with: self)

如果我们也直接写:

MyPluginRegistrant.register(with: self)

是会报错的,很简单,swift无法直接调用oc,需要一个桥接:

打开Runner-Bridging-Header.h,添加:

#import "GeneratedPluginRegistrant.h"
#import "MyPluginRegistrant.h"

此时运行项目,进入注册界面,输入信息点击注册按钮,如果提示注册失败,则表示我们所写的Plugin被成功调用(至于注册失败,是因为我们没有融云服务端,而安卓是直接引入的服务端SDK,但ios是无法这样做的,如果想要登录成功,可以在安卓上注册,并修改登录验证,然后在ios上登录即可)!