Flutter插件开发-iOS篇

137 阅读1分钟

参考经常用别人的框架,自己也得搞起来啊!

插件开发大致分为以下流程

创建插件工程 -> 发布插件 -> 使用插件

创建插件工程

Project type: Plugin

image.png

项目目录介绍

image.png

先运行插件

终端命令

选择模拟器后

cd example
flutter run

还是直接点击按钮 运行方便多了

image.png

实现一个小请求

运行flutter项目,点击请求按钮传入用户uid 和名字。原生端处理用户和名字并返回。

image.png

request_plugin_platform_interface.dart 中模仿 getPlatformVersion 方法写

image.png

实现 image.png

获取请求

request() async {
  String? content;
  try {
    content = await _requestPlugin.requestUserInfo('王盼盼', '007');
  } catch (e) {
    content = '请求失败~';
  }
  print(content);
}

Xcode 打开iOS代码

image.png

public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {

  switch call.method {

  case "getPlatformVersion":

    result("iOS " + UIDevice.current.systemVersion)

  case "requestUserInfo":

      print(call.arguments as Any)

      if let arguments = call.arguments as? Dictionary<String, Any> {

          result("请求成功 \(arguments["userName"] ?? "")\(arguments["userId"] ?? ""))")

      } else {

          result("参数有误")

      }

  default:

    result(FlutterMethodNotImplemented)

  }

}

image.png

发布插件

发布插件 我选择git

image.png

将刚刚插件上传到这里

使用插件

新建一个新工程测试一下

image.png

image.png

image.png

升级插件

a.直接改代码提交

如果需求有所改动或者修复bug。 可以直接插件中修改 。然后提交git

image.png

image.png

记得在下面种 Pub upgrade

image.png

b.给插件打版本

yaml文件里面提高version 版本 修改后代码 提交git 后项目 Pub upgrade

image.png

image.png

image.png

c.分支版本

如果发版后有伴随需求开发的bug修复可以重新开分支

如果是master分之 ref无需指定 如果是非主分支则需要指定你插件分支

image.png

image.png