(四)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,可以直接使用。
相关推荐
kirk_wang1 分钟前
Flutter `shared_preferences` 三方库在 OpenHarmony 平台的适配实践
flutter·移动开发·跨平台·arkts·鸿蒙
2501_916007479 分钟前
Xcode 在 iOS 上架中的定位,多工具组合
android·macos·ios·小程序·uni-app·iphone·xcode
游戏开发爱好者810 分钟前
uni-app 项目在 iOS 上架过程中常见的问题与应对方式
android·ios·小程序·https·uni-app·iphone·webview
音浪豆豆_Rachel20 分钟前
Flutter鸿蒙文件选择器内核解析:从Dart调用到ArkTS系统级对话
flutter·harmonyos
音浪豆豆_Rachel26 分钟前
Flutter鸿蒙文件选择器实现层解析:消息通道、协议转换与数据处理
flutter·华为·harmonyos
音浪豆豆_Rachel32 分钟前
Flutter鸿蒙文件选择器入口解析:插件生命周期与平台绑定
flutter·harmonyos
__WanG34 分钟前
screen time api - FamilyActivityPicker 获取选中应用
ios·iphone·swift
2501_9151063234 分钟前
iOS 抓包工具在不同场景的实际作用
android·macos·ios·小程序·uni-app·cocoa·iphone
FourV大大35 分钟前
iOS原生和UniApp通信
ios·uni-app·cocoa
消失的旧时光-19431 小时前
401 刷新 Token 的队列版(请求挂起排队 + 刷新后统一重放/统一失败)
flutter·dio