美文网首页
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