Swift - 网络请求报错App Transport Security has blocked a cleartext

来源:互联网 发布:ipad绘画漫画软件 编辑:程序博客网 时间:2024/06/07 00:08

使用Xcode7编写iOS9应用时,如果获取http://数据时会报如下错误:

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

原因:
从iOS9起,新特性要求App访问网络请求,要采用 HTTPS 协议。

如果仍想要使用HTTP协议,解决办法如下:
1,在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;
2,在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;
这里写图片描述

当然,也可以直接使用Source Code形式打开Info.plist,添加如下配置:

    <key>NSAppTransportSecurity</key>    <dict>        <key>NSAllowsArbitraryLoads</key>        <true/>        <key>NSExceptionDomains</key>        <dict>            <key>sina.com.cn</key>            <dict>                <key>NSExceptionAllowsInsecureHTTPLoads</key>                <true/>                <key>NSExceptionRequiresForwardSecrecy</key>                <true/>                <key>NSIncludesSubdomains</key>                <true/>            </dict>            <key>weibo.cn</key>            <dict>                <key>NSExceptionAllowsInsecureHTTPLoads</key>                <true/>                <key>NSExceptionRequiresForwardSecrecy</key>                <true/>                <key>NSIncludesSubdomains</key>                <true/>            </dict>            <key>weibo.com</key>            <dict>                <key>NSExceptionAllowsInsecureHTTPLoads</key>                <true/>                <key>NSExceptionRequiresForwardSecrecy</key>                <true/>                <key>NSIncludesSubdomains</key>                <true/>            </dict>        </dict>    </dict>
0 0
原创粉丝点击