报错:
Unhandled Exception: PlatformException(unregistered_view_type, trying to create a view with an unregistered type, unregistered view type: 'plugins.flutter.io/webview')
#0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
#1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)
<asynchronous suspension>
#2 PlatformViewsService.initUiKitView (package:flutter/src/services/platform_views.dart:168:41)
<asynchronous suspension>
#3 _UiKitViewState._createNewUiKitView (package:flutter/src/widgets/platform_view.dart:503:71)
<asynchronous suspension>
#4 _UiKitViewState._initializeOnce (package:flutter/src/widgets/platform_view.dart:453:5)
#5 _UiKitViewState.didChangeDependencies (package:flutter/src/widgets/platform_view.dart:463:5)
#6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4079:12)
#7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3912:5)
#8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3094:14)
#9 Element.updateChild (package:flutter/src/widgets/framework.dart:2897:12)
#10 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3954:16)
#11 Element.rebuild (package:flutter/src/widgets/framework.dart:3731:5)
解决办法:
flutter plugin注册的问题,在自定义的viewcontroller中重新注册即可解决。
参考Flutter开发填坑记录
AppViewController.h
#import <Flutter/Flutter.h>
@interface AppViewController : FlutterViewController {
}
@end
AppViewController.m
#import "AppViewController.h"
#import <FlutterPluginRegistrant/GeneratedPluginRegistrant.h>
@implementation AppViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 解决Plugin注册问题,导致flutter的插件失败,比如webview_flutterd无法显示网页
[GeneratedPluginRegistrant registerWithRegistry:self];
}
网友评论