【问题标题】:Undefined symbol: _FlutterDefaultDartEntrypoint - Adding a Flutter screen to an iOS app and using initialRoute未定义的符号:_FlutterDefaultDartEntrypoint - 将 Flutter 屏幕添加到 iOS 应用程序并使用 initialRoute
【发布时间】:2023-02-03 02:37:41
【问题描述】:

Adding a Flutter screen to an iOS app官方文档建议从Flutter 1.22版本开始,可以在构造FlutterViewController时为Flutter设置一个初始路由:

let flutterEngine = FlutterEngine()
// FlutterDefaultDartEntrypoint is the same as nil, which will run main().
engine.run(
  withEntrypoint: FlutterDefaultDartEntrypoint, initialRoute: "/onboarding")

但是按照这些说明进行操作时,构建会失败并出现错误:

Undefined symbol: _FlutterDefaultDartEntrypoint

【问题讨论】:

    标签: swift flutter flutter-add-to-app


    【解决方案1】:

    正如上面代码示例中的注释所暗示的那样,“FlutterDefaultDartEntrypoint 与 nil 相同,它将运行 main”.

    所以用 nil 替换 FlutterDefaultDartEntrypoint 解决了这个问题:

    let flutterEngine = FlutterEngine()
    engine.run(withEntrypoint: nil, initialRoute: "/onboarding")
    

    要运行除默认 main() 方法以外的任何方法,可以使用以下方法:

    let flutterEngine = FlutterEngine()
    engine.run(
        withEntrypoint: "otherMain",
        libraryURI: "other_file.dart",
        initialRoute: "/onboarding"
    )
    

    这将在 other_file.dart 文件中查找 otherMain() 方法。

    【讨论】:

      猜你喜欢
      • 2021-04-19
      • 2021-04-11
      • 1970-01-01
      • 2019-04-02
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 2013-10-06
      相关资源
      最近更新 更多