我为什么要升级我的flutter 项目?
因为:flutter 3.32.8无法实现iOS 26 的真机调试。

经过测试Flutter 3.41.4是可以实现iOS 26的真机调试。
最重要的是我担心flutter 3.32.8发布的App可能会在iOS 26下出问题。

相关文章:
《flutter 在iPad mini7上真机运行实战(踩坑)》
https://blog.csdn.net/lxyoucan/article/details/158924102

升级思路

在Flutter 3.41.4下创建一个全新的项目,然后把lib之中的代码,和库的依赖复制到新项目之中。

实战

  1. 设置flutter版本
    我用的fvm管理flutter版本,为了输入命令方便,这里我先把3.41.4 设置成全局版本。
fvm global 3.41.4
  1. 创建新项目
flutter create boilerplate
  1. 测试新创始的项目是否可以正常真机运行
flutter run

我这里是可以正常运行的,如果不能正常运行这里要想办法解决一下。

  1. 复制lib目录及assets目录等
    把老项目中的代码和素材等相关文件复制到新项目中。

我这里用命令行演示一下

# 删除新创建的项目中的lib文件夹
rm -rf /Users/samking/workspace/boilerplate/lib
# 复制lib文件夹
cp -rf /Users/samking/workspace/pump-gprs-app/lib /Users/samking/workspace/boilerplate/lib

cp -rf /Users/samking/workspace/pump-gprs-app/assets /Users/samking/workspace/boilerplate
  1. 复制pubspec.yaml
    把dependencies:开始往下的所有内容全部替换到新的项目之中。
  2. 用 flutter pub upgrade 解决依赖冲突
  3. 重新运行项目
flutter run

我这里运气还不错,直接运行成功了。但是有一个报错

Target native_assets required define SdkRoot but it was not provided

目前核心功能是正常的,但是扫码功能出现了异常。我后续在想办法解决吧。

这一步大家可能会遇到各种兼容性问题,但是基本操作是这样的。希望对你有帮助。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐