App开发flutter踩坑之:报错:“Bad state: Insecure HT TP is not allowedby platform”的处理方法

前言:

我最近升级了flutter2.0以后,运行项目报错如下:

Bad state: Insecure HT TP is not allowedby platform


以上报错原因是:ios和安卓在新版中会要求http的地址必须为https,即:不支持http的地址访问

实际开发中可能有些测试请求需要访问http类的地址,那怎么处理呢?

只需要通过对android和ios的简单配置即可实现(特别提示:由于安全的原因还是建议正式使用中使用https的形式访问


特别说明:以下方法我也是通过搜索得到的解决方案(在这里感谢各位技术大佬热情的分享),遂将方法记录下来分享给更多的有需要的技术员...

以下说明均以vscode为说明,如果你是使用的其他开发工具,路径是一直的,按路径即找到。

苹果IOS


使用vscode打开项目,找到 ios/Runner/Info.plist,在Info.plist中有很多其他的配置参数,请勿删除。

只需要在根<dict></dict>中添加如下代码即可。

<key>NSAppTransportSecurity</key>

<dict>

        <key>NSAllowsArbitraryLoads</key>

        <true/>

</dict>

添加截图:

以上为ios处理方法

安卓android


【步骤1】

使用vscode打开项目,找到android/app/src/main/AndroidManifest.xml,在application下添加

android:usesCleartextTraffic="true"      android:networkSecurityConfig="@xml/network_security_config"

注意,是在application结束的>之前添加,如图:

【步骤2】


2.1>>>>>>>在 android/app/src/main/res 下新建 xml 文件夹。

2.2>>>>>>>在该文件里创建 network_security_config.xml的文件

2.3>>>>>>>在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>

如图所示:

ok,大功告成,赶紧试试吧
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容