(四)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,可以直接使用。
相关推荐
youdexiang1 小时前
IOS录音APP拍照记录能和音频同步吗
ios·音视频
恋猫de小郭2 小时前
感人,Flutter 居然有了一个超实用提案,期待落地
android·前端·flutter
2501_915909062 小时前
Windows 打开 Xcode 工程,编译调试 Xcode 项目并和 Mac 同事协作
ide·windows·vscode·macos·ios·个人开发·xcode
互联网江湖2 小时前
iPhone Duo跌倒,国产折叠屏手机吃饱?
ios·智能手机·iphone
zwd200515 小时前
词频是什么?生词滑块 zipf 3.0 到 5.0 怎么调:同一屏从 0 个生词到 11 个
ios·iphone·效率工具·英语学习·词频·屏幕翻译
好的佩奇17 小时前
Dart 之增强枚举
android·flutter·dart
茶底世界之下19 小时前
灯暖窗冷,色温要不要继续降?用 Awaking 看混合光的取舍
ios
好的佩奇20 小时前
蓝牙之无线电与通信距离
android·flutter·蓝牙
2501_916007471 天前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
最强小杰1 天前
gpt-image-2.5-sunburst + OpenAI SDK + Cline 怎么接?完整图生图与局部重绘教程
gpt·ios·ai·iphone