Flutter 3.0.5 升级到 3.3+ 的一个坑

Posted by nepaul on 2023-04-07

记录一个曾经困扰多时的问题,而且一度怀疑是 Flutter 官方的问题。

项目背景

  1. iOS 已工程存在多年,monorepo 的方式组织子模块;
  2. Flutter 3.0.5 版本,使用的是 Flutter.framework 的方式集成;
  3. 子模块中有几个模块依赖 Flutter 能力(比如 路由跳转)

现在需要将 Flutter 升级到 3.3+,因为 3.3+ 之后,性能得到了很大提升,而且可以支持 iOS 14 的 App Clip。

升级 Flutter

本以为会一帆风顺,但是升级到 3.3+ 之后,发现了 路由模块 构建异常。

发现 Flutter3.3+ 采用了 Flutter.xcframework 的方式集成,而且在 Flutter.podspec 也有一些提示说明。

而报错子模块缺失了相关依赖项的配置,在相应模块的 podspec 文件中添加一行即可正常运行。

最后

反思:子模块的管理还是不够规范,尤其是涉及到 Flutter 的。

一分钟解决问题,希望帮助到更多遇到相同问题的朋友。


Comments: