Fluwx 6.0 预览版本他来了

之前有谈过# 再见吧CocoaPods,Swift Package Manager(SPM)即将在Flutter 3.44中成为默认依赖管理器,我也提到了 Fluwx正在适配Swift Package Manager 。经过我的不懈努力,Fluwx终于迎来了6.0.0-preview.7 。从新特性上来,6.0版本只有两个核心变化:

  • 支持Scene Delegate
  • 支持Swift Package Manager

Scene Delegate没得说,决定权不在你我,再不支持,Apple上不了架。而SPM(Swift Package Manager)的支持,也是顺势而为,因为Cocoapods迟早要退出历史舞台。而且就是因为适配SPM的缘故,这次对Fluwx整个项目的冲击,可谓不小,主要影响在于:

  • 项目变成了Monorepo
  • fluwx_no_pay重出江湖

由于SPM是一个静态的依赖管理工具,所以之前在Cocoapods时,有很多动态魔法在SPM时,无法使用,导致无法动态加载宏,我没有想到更好的解决的方案,只能把fluwx_no_pay的功能分离出来,不再通过pubspec.yaml配置no_pay。类似地,iOS上的自动化脚本都失效了,比如自动填写url scheme、LSApplicationQueriesSchemes、universal_link、debug_logging等等,都不再好用了,迁移到6.0后,需要你自己填写这些。Android上不受影响。

由于我现在没有合适的App用来测试微信相关功能,所以还需要大家一起来测试,有问题能直接提PR是最好的。

下面我简单地介绍一下怎么开发fluwx。

这里我使用了 Melos monorepo ,包含两个 package:fluwx(含微信支付)和 fluwx_no_pay(不含支付,用于通过 App Store 合规审核)。以下步骤适用于想要在本地构建或运行项目的贡献者。

前置要求

  • Flutter SDK(stable 渠道)
  • Dart SDK ≥ 3.10
  • Melos 7.5.1:dart pub global activate melos 7.5.1
  • iOS 开发:Xcode + CocoaPods(sudo gem install cocoapods)

克隆 & 初始化

bash 复制代码
git clone https://github.com/OpenFlutter/fluwx.git
cd fluwx

# 安装工作区依赖并链接各 package
dart pub get
melos bootstrap

注意: 仓库使用了 symlink(在 fluwx 和 fluwx_no_pay 之间共享原生源码)。macOS / Linux 下 git 会自动保留 symlink;Windows 下请确保 git 配置了 core.symlinks=true。

初始化完成后验证所有 symlink 是否正常:

bash 复制代码
melos run symlinks:check

运行示例应用

bash 复制代码
# fluwx(含支付)
cd packages/fluwx/example
flutter pub get
flutter run

# fluwx_no_pay(不含支付)
cd packages/fluwx_no_pay/example
flutter pub get
flutter run

iOS --- CocoaPods 与 SPM

项目同时支持 CocoaPods 和 Swift Package Manager,构建前全局设置集成方式:

bash 复制代码
# CocoaPods 模式
flutter config --no-enable-swift-package-manager
cd packages/fluwx/example/ios && pod install

# SPM 模式
flutter config --enable-swift-package-manager

分析 & 测试所有 package

bash 复制代码
melos exec -- flutter analyze
melos exec -- flutter test

最后

来吧,一起测试一下!

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端