美文网首页
iOS原生项目嵌入Flutter Release framewo

iOS原生项目嵌入Flutter Release framewo

作者: 迷路的字母C | 来源:发表于2021-05-25 10:57 被阅读0次

项目在调试阶段一直用的是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")

相关文章

网友评论

      本文标题:iOS原生项目嵌入Flutter Release framewo

      本文链接:https://www.haomeiwen.com/subject/depqsltx.html