Flutter 本身并未集成webview,所以当需要使用webview 的时候,使用Flutter_webview_plugin插件,也就是使用的原生webview组件,
Flutter_webview_plugin 在使用过程中会iOS出现无法加载HTTP请求的情况, 但是Flutter 却可以加载HTTP请求。这就与两个的框架有关了,Flutter是独立于UIKit框架的。
解决方案就是在iOS 的info.plist中添加对HTTP的信任。
IOS
<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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。