前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter混合项目在 iOS14启动崩溃处理方法

Flutter混合项目在 iOS14启动崩溃处理方法

作者头像
Qson
修改2022-04-26 15:27:28
3.6K7
修改2022-04-26 15:27:28
举报
文章被收录于专栏:Hi FlutterHi Flutter

现象

最近在开发flutter和iOS混合项目时,遇到真机调试连接xcode启动项目,在断开后,打开App直接崩溃,版本为iOS14+。

APP 测试结果如下:

App来源

是否闪退

模式

线上

release

fir/蒲公英

debug

xcode

是(断开xcode后再打开app)

debug

原因

闪退的原因是因为 Flutter SDK, Flutter 官方对 iOS14 进行了说明:Flutter官网说明链接1

大致意思就是说,如果我们在 iOS14 的真机上安装了 debug模式 编译出来的 flutter 应用,那么在断开编译安装连接后,将无法从桌面上打开该应用程序。

解决方案

网上尝试过几种方式,有的不灵

• 项目名中文改英文(试过没用)

如Xcode里,选择当前项目的TARGETS->BuildSetting -> Packaging -> Product Name,将中文的命名改成英文,flutter项目建议直接改成Runner。这种方式试过没用。

•更改XCode编译模式

使用Release模式编译,这个时候Flutter编译方式为AOT,可正常启动;

•不更改XCode编译模式

更改Flutter编译配置,强制设置为Release。找到Flutter安装位置,依次打开flutter/packages/flutter_tools/bin/xcode_backend.sh

这里采用的最后一种方式,不更改XCode编译模式,试过可行,不过这会改变原来debug的build模式,不过要记得在需要的时候改回来就行。

补充:

如果在上面文件中找不到图上的方法,可能不同flutter版本位置不同的原因,

目前我的版本是Flutter 2.8.1,

可以在 flutter/packages/flutter_tools/bin/xcode_backend.dart这个文件更改

图片.png
图片.png
引用链接

[1] Flutter官网说明链接: https://links.jianshu.com/go?to=https%3A%2F%2Fflutter.dev%2Fdocs%2Fdevelopment%2Fios-14

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hi Flutter 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现象
  • 原因
  • 解决方案
    • 补充:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档