flutter 插件开发
1,创建项目
flutter create --template=plugin --platforms=android,ios hello
--template=plugin:创建插件包
--platforms=android,ios:指定平台 注意platform的单复数😓
默认情况,模板支持使用java编写安卓代码,oc编写ios代码,要使用kotlin或swift,使用-i和/或-a标志
进入项目目录,flutter create -i objc -a java .(最后的.不要漏掉🐶)
2,创建flutter平台客户端
该应用的state拥有当前的应用状态,我们需要延长这一点以保持当前的电量
构建通道,使用MethodChannel调用一个方法来返回电池电量
通道的客户端和宿主通过构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;建议在通道名称前加一个唯一的前缀,如samples/flutter/io/test
3,使用java添加安卓平台特定的实现
。。。
4,使用oc添加ios平台特定的实现
手动导入第三方sdk
以alipay为例:
1,打开插件文件夹flualipay
2,进入iOS文件夹(注意:不是example里的ios文件夹)
3,创建文件夹,命名为Frameworks(名字随意,但需与后面保持一致)
4,将支付宝sdk官网下载好的sdk放入Frameworks文件夹
路径如下:
图片.png
5,打开iOS文件夹下的.podspec文件,即flualipay.podspec
输入:
s.ios.vendored_frameworks = 'Frameworks/AlipaySDK.framework'
s.vendored_frameworks = 'AlipaySDK.framework'
注:此处Frameworks/AlipaySDK.framework中的Frameworks为上面创建文件夹的名字。第一句为指定sdk位置,第二句引用sdk
6,根据官方文档在xcode中添加所需的系统库
7,执行pod install,Pods中插件文件夹下会出现上面创建的文件夹,且文件夹中有添加的支付宝sdk
图片.png
报错:"OBJC_CLASS$_UTDevice", referenced from:objc-class-ref in AlipaySDK
将下载的支付宝demo里的AlipaySDK.framework替换上面framework文件夹里的AlipaySDK.framework
网友评论