(四)Flutter插件之IOS插件开发

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,可以直接使用。
相关推荐
spmcor2 小时前
Flutter 学习笔记 (3):布局初探 —— Row、Column、Stack 与 Container
flutter
风华圆舞3 小时前
DevEco Studio 和 Flutter 工具链如何协同工作
flutter·华为·架构·harmonyos
Digitally3 小时前
如何高效地将文件从电脑传输到 iPad:6 种简单方法
ios·电脑·ipad
朱莉^_^JuneLee4 小时前
Flutter 性能优化实战:用 ConsumerWidget + select 做到真正的局部刷新
flutter
G_dou_7 小时前
Flutter三方库适配OpenHarmony【palindrome_checker】回文检测器项目完整实战
flutter·harmonyos
朱莉^_^JuneLee8 小时前
Flutter 模块化架构实战:用 Barrel Export 管控模块边界
flutter·架构
萤萤七悬8 小时前
【Python笔记】AI帮封装Airtest IOS-WDA touch操作时的factor坐标转换
笔记·python·ios
风华圆舞8 小时前
鸿蒙导航意图 的 Flutter 侧封装思路
flutter·华为·harmonyos
风华圆舞8 小时前
Flutter 调用原生失败时,如何优雅处理 `MissingPluginException`
flutter·华为·harmonyos