Flutter 本身并未集成webview,所以當(dāng)需要使用webview 的時(shí)候开镣,使用flutter_webview_plugin插件,也就是使用的原生webview組件,
flutter_webview_plugin 在使用過程中會(huì)iOS出現(xiàn)無法加載HTTP請(qǐng)求的情況膘掰, 但是Flutter 卻可以加載HTTP請(qǐng)求。這就與兩個(gè)的框架有關(guān)了佳遣,F(xiàn)lutter是獨(dú)立于UIKit框架的识埋。
解決方案就是在iOS 的info.plist中添加對(duì)HTTP的信任凡伊。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
安卓端 9.0之前的系統(tǒng)赞枕,使用過程中并未發(fā)生異常殿衰。 9.0之后,也不支持HTTP厌衙,同樣也得添加信任
第一步:在清單文件AndroidManifest.xml的application標(biāo)簽里面設(shè)置networkSecurityConfig屬性如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config">
<!-- ... -->
</application>
</manifest>
第二步:在資源文件夾res/xml下面創(chuàng)建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>