1、在哪里写插件代码
在Xcode中打开对应的项目
2、部分代码分析
- 里面可以写oc代码包含.h 和.m的文件
- Swift 允许使用 点语法(.)省略枚举类型名,只要上下文已经知道类型
- 条件编译指令
bash
#if DEBUG
print("json格式不正确:\n\(info)")
#endif`
- Runner文件夹
Flutter 项目里的 Runner
在 Flutter 项目中,iOS 部分通常在 ios/Runner 目录下
Runner 是 Xcode 项目名称,同时也是 默认 iOS App Target
里面包含了 Flutter iOS App 的入口代码和配置文件
- _ 表示 调用时不需要写参数名
- @escaping
表示闭包 可以在函数返回后再被调用。
因为你在 DispatchQueue.global().async 异步线程里调用 completion,所以闭包必须标记为 @escaping。
如果闭包只在函数体内同步调用,则可以不写 @escaping。
3、IOS和Android的区别
- 在 Flutter 插件的 iOS 部分,不能直接在插件内部写权限声明(Privacy usage description),而必须由使用插件的 App 工程来声明
- 如果两个 Swift 文件在同一个 target 内(比如插件的 Classes 文件夹下),不用写 import,可以直接使用。