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 schemeLSApplicationQueriesSchemesuniversal_linkdebug_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(在 fluwxfluwx_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

最后

来吧,一起测试一下!

相关推荐
KaMeidebaby1 小时前
卡梅德生物技术快报|单 B 细胞抗体筛选服务:技术架构、流程实现与数据验证
前端·数据库·其他·百度·新浪微博
爱勇宝1 小时前
别焦虑,也别躺平:给年轻程序员的一封信
前端·后端·架构
OpenTiny社区1 小时前
2026 OpenTiny NEXT 产品调研启动!
前端·开源·github
德莱厄斯1 小时前
GIS 开发要变天?看看高德空间智能给我们带来了什么!
前端·gis·agent
JarvanMo1 小时前
Flutter.Dart的主构造函数(primary constructor)可能马上就要来了
前端
用户65868180338402 小时前
一个前端CLAUDE.md
前端
前端那点事2 小时前
彻底解决KeepAlive缓存乱象!Vue3精细化按需缓存+路径重置终极方案
前端·vue.js
前端那点事2 小时前
Vue 的 template 标签不能用 v-show?底层机制+踩坑复盘+生产级解决方案
前端·vue.js
前端那点事2 小时前
从零落地前端性能优化:全链路避坑+实战调优方案
前端·vue.js