flutter填坑笔记

Author Avatar
双例模式 6月 19, 2020
  • 在其它设备中阅读本文章

iOS使用xcode调试正常,但是从桌面启动的app无法正常运行,进入flutter界面会闪退

  • 原因
    闪退的原因是因为 Flutter SDK, Flutter 官方对 iOS14 进行了说明:(Flutter官网说明链接)[!https://docs.flutter.dev/development/ios-14],大致意思就是说,如果我们在 iOS14 的真机上安装了 debug模式 编译出来的 flutter 应用,那么在断开编译安装连接后,将无法从桌面上打开该应用程序。

  • 解决办法

    1. 修改xcode编译模式

      使用Release模式编译,这个时候Flutter编译方式为AOT,可正常启动,修改方式为:Product->Scheme->Edit Scheme,然后修改run的Build Configuration为release
      
      如果遇到报错:You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.则修改Build Settings中的Enable Bitcode设置改为NO
      

    2. 更改Flutter编译配置,强制设置为Release。

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