(四)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,可以直接使用。
相关推荐
QWsin14 小时前
「轻漾」App隐私政策
ios·个人开发
season_zhu14 小时前
近段时间,AI加持下,我的开发感悟
ios
大龄秃头程序员15 小时前
Riverpod 深度解析:从响应式本质到最小可运行闭环
flutter
用户380341658829716 小时前
Flutter 迁 SwiftUI:AI 把页面"搬"过来只用了两周,我们补结构花了两个月
ios·swift
曹小强wxx16 小时前
让 AI 写代码不“翻车”:用 Claude Code + Codex 给 Flutter 项目搭一套工程规范
flutter·ai编程·claude
西西学代码19 小时前
像素和颜色之间的转换(Flutter)
前端·javascript·flutter
茶底世界之下19 小时前
四角变换后的最小包围视口,为什么不能只把宽高取整?
ios·swift
茶底世界之下19 小时前
羽毛颜色已经很鲜艳,还要继续加色吗?用 Awaking 试一次减饱和
前端·ios·运营
曹小强wxx19 小时前
Flutter 局域网设备发现:UDP 广播 + mDNS 双路合并,以及靠谱的在线判定与断线重连
物联网·网络协议·flutter
天神哥哥啊21 小时前
cocos联调注意事项-IOS
ios·cocoa·xcode