Большинство примеров, которые я вижу для представлений платформы, представляют собой либо отдельное приложение флаттера, либо плагин флаттера, такой как google maps/web view. Где, как и в моем случае, я добавляю модуль флаттера в свой проект iOS. Есть ли способ включить представления платформы из моего хост-приложения iOS в код представления модуля флаттера. Я следую руководству от здесь :
Но смущает следующий фрагмент кода:
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’)
1 ответ
Вам просто нужно позвонить регистратору на флаттер движке, все остальное в порядке
self.flutterEngine?.registrar(forPlugin: "Runner").register(testFactory, withId: "webview")
Похожие вопросы
Новые вопросы
flutter
Используйте этот тег для вопросов о наборе инструментов кроссплатформенного пользовательского интерфейса Flutter. Если ваш вопрос касается конкретной платформы, отметьте ее также (например, [android], [ios] и т. д.). Вы также можете включить тег [dart] для вопросов по кодированию.