flutter_webview_plugin 没法加载网页的异常处理

Flutter 自己并未集成webview,因此当须要使用webview 的时候,使用flutter_webview_plugin插件,也就是使用的原生webview组件,android

flutter_webview_plugin 在使用过程当中会iOS出现没法加载HTTP请求的状况, 可是Flutter 却能够加载HTTP请求。这就与两个的框架有关了,Flutter是独立于UIKit框架的。
解决方案就是在iOS 的info.plist中添加对HTTP的信任。web


   <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

  

安卓端 9.0以前的系统,使用过程当中并未发生异常。 9.0以后,也不支持HTTP,一样也得添加信任app

第一步:在清单文件AndroidManifest.xml的application标签里面设置networkSecurityConfig属性以下:框架

 

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config">
         <!-- ... -->
    </application>
</manifest>

  

第二步:在资源文件夹res/xml下面建立network_security_config.xml以下:插件

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>
相关文章
相关标签/搜索