Flutter 本身並未集成webview,所以當需要使用webview 的時候,使用flutter_webview_plugin插件,也就是使用的原生webview組件,
flutter_webview_plugin 在使用過程中會iOS出現無法加載HTTP請求的情況, 但是Flutter 卻可以加載HTTP請求。這就與兩個的框架有關了,Flutter是獨立於UIKit框架的。
解決方案就是在iOS 的info.plist中添加對HTTP的信任。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
安卓端 9.0之前的系統,使用過程中並未發生異常。 9.0之后,也不支持HTTP,同樣也得添加信任
第一步:在清單文件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>