按Option C集成Flutter模块到原生iOS,模拟器正常真机启动即崩溃
原生iOS集成Flutter模块真机启动崩溃修复方案
崩溃根因
你当前配置错误触发了动态库加载失败问题:Flutter集成Option C流程要求Flutter相关框架必须嵌入主App包内,你将依赖设为Do Not Embed后,ipa包内没有携带Flutter相关动态库,真机启动时系统无法找到对应依赖就会立即崩溃,模拟器因为共享本地开发环境的资源,不会触发该类加载错误。
修复步骤
- 打开Xcode项目的「General」标签页,定位到「Framework, Libraries and Embedded Content」配置栏
- 将所有Flutter相关依赖库(包括
Flutter.framework、App.framework、所有Flutter插件生成的.framework产物)的Embed选项修改为Embed & Sign - 清理Xcode构建缓存:依次执行
Command + Shift + K清理普通构建缓存、Command + Shift + Option + K深度清理全部缓存 - 回到项目根目录执行
pod install重新生成依赖配置,之后重新打包真机测试即可
注意事项
如果修改配置后出现签名报错,需要确认你的开发者账号证书支持动态库签名,同时不要在Podfile中添加全局静态编译配置
use_frameworks! :linkage => :static,避免和Flutter动态库依赖产生冲突。

内容的提问来源于stack exchange,提问作者tauheed
相关产品推荐
相关产品推荐

