移动测试Flutter_App安装后启动崩溃

问题描述

Flutter iOS混编,解决Flutter在iOS14+debug模式上无法运行的问题。

问题原因

iOS项目引入Flutter后,安装Debug包,打开Flutter界面会出现"In iOS 14+, debug mode Flutter apps can only be launched from Flutter tooling, IDEs with Flutter plugins or from Xcode"问题。

解决方案

用 [Xcode] 打开工程项目,在 Build Settings 的最下方找到 User-Defined,点击 + 按钮,添加一个键为 FLUTTER_BUILD_MODE ,debug设置profile模式,release设置release 模式。
如果是通过云构建提交到移动测试进行测试的包,上述不管是使用Debug模式还是Release模式的设置都可以,但是打出的ipa包要使用Debug的 for development方式导出。
 
以下是对flutter的模式说明:

1、这个指的是flutter的debug模式,我们要求的是xcode打包选择 for development的包,是不一样的概念,打iOS debug包,把flutter debug改成release就行。

2、不管是flutter debug还是flutter debug生成的包,crash都是iOS自带的分析模块来捕获ips ,这个是iOS系统来捕获的,不影响日志的收集。

3、测试平台要求上传debug版本包,是因为iOS有三种包,主要是证书不一样。distribution只有appstore可以分发安装,release企业包只有证书中指定的设备才能安装,debug包可以重签名在任意设备安装,我们线上那么多设备,只能用第三种方法实现安装和自动化。

4、flutter的debug包、flutter的release包是flutter自身的调试的概念,ipa debug和ipa release是apple证书的区别。

5、怎么能生成ipa debug包,在Xcode工程中修改配置项的地点。

适用于

  • 移动测试