Flutter自定义IOS的Plugin

Posted 白玉梁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter自定义IOS的Plugin相关的知识,希望对你有一定的参考价值。

前两篇讲过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上登录即可)!

以上是关于Flutter自定义IOS的Plugin的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - Codemagic - 自定义方案的 iOS 代码签名问题

Flutter项目WanWan之接入融云IM和自定义Plugin

Flutter项目WanWan之接入融云IM和自定义Plugin

Flutter Plugin:在 iOS 和 MacOS 之间共享代码

Flutter入门:如何进行Flutter Plugin开发

VSCode自定义代码片段——CSS选择器