【问题标题】:Is it possible to add platformviews from host iOS app to flutter module view without converting into a plugin?是否可以将平台视图从主机 iOS 应用程序添加到颤振模块视图而不转换为插件?
【发布时间】:2020-04-12 15:57:51
【问题描述】:

我看到的大多数平台视图示例要么是独立的 Flutter 应用程序,要么是通过谷歌地图/网络视图等 Flutter 插件。就我而言,我正在向我的 iOS 项目添加一个颤振模块。有没有办法在颤振模块视图代码中包含来自我的主机 iOS 应用程序的平台视图。我正在遵循here 的指南:

但对以下代码感到困惑:

self.registrar(forPlugin: "Runner").register(fuelFactory, withId: "webview")

因为现在我正在为插件“Runner”调用注册商,因为平台视图位于宿主应用程序本身而不是插件中。这里应该做什么?

        let testFactory = TestFlutterViewFactory(controller: flutterVC)
        self.registrar(forPlugin: "Runner").register(testFactory, withId: "webview")
        flutterVC.setInitialRoute("/")
        GeneratedPluginRegistrant.register(with: self.flutterEngine!)
        self.window?.rootViewController = flutterVC

但我收到以下错误。

Unhandled Exception: PlatformException(unregistered_view_type, trying to create a view with an unregistered type, unregistered view type: 'webview’)

【问题讨论】:

  • 你找到解决办法了吗?
  • 没有。我最终为此编写了一个插件。

标签: flutter dart flutter-platform-channel


【解决方案1】:

你只需要在颤振引擎上调用注册商,其他一切都很好

self.flutterEngine?.registrar(forPlugin: "Runner").register(testFactory, withId: "webview")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多