iOS原生项目嵌入Flutter Release framewo

2021-05-25  本文已影响0人  迷路的字母C

项目在调试阶段一直用的是flutter的debug版本framework,一直没有问题,突然发现用了release版本的framework,发现进入初始页面是个大白屏,尝试了“flutter clean后重新build”等方法后无效。
我的项目因为是用了flutter的多入口,原生这边使用了FlutterEngine的这个方法

- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;

,加载的入口并不是main,而是另外一个入口。研究过这个方法的注释后才发现如下内容:

 If it is not the app's main() function, that function must
 *   be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
 *   compiler.

在flutter代码中的自定义入口方法加上如下内容解决问题

@pragma("vm:entry-point")
上一篇下一篇

猜你喜欢

热点阅读