App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.-解决
Posted 写代码是一种艺术,甚于蒙娜丽莎的微笑!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.-解决相关的知识,希望对你有一定的参考价值。
运行环境:Xcode Version 7.3.1 (7D1014)
使用NSURL进行数据请求数据代码:
-(NSData *)requestData{ NSURL *url = [NSURL URLWithString:@"http://easyread.ph.126.net/seRpubnsz_WwJGz7fexyeg==/7696583593456123398.jpg"]; NSData *data = [NSData dataWithContentsOfURL:url]; return data; }
报错:
2016-07-04 17:11:44.325 testMultiThread[2904:173072] 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.
原因:Xcode版本的新特性要求App内访问网络请求,要采用 HTTPS 协议。
但是现在公司的项目使用的是 HTTP 协议,使用私有加密方式保证数据安全。现在也不能马上改成 HTTPS 协议传输。
最终找到以下解决办法:
1、在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;
在info.plist中添加 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
2、在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;
运行结果:
以上是关于App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.-解决的主要内容,如果未能解决你的问题,请参考以下文章
根据 Scheme 修改 App Transport Security
sh 用于在iOS 9中禁用App Transport Security的Bash脚本
我似乎没有找到 App Transport Security,所以我可以暂时禁用它
iOS App 不支持http协议 App Transport Security has blocked a cleartext HTTP (http://)
Xcode 7提示App Transport Security has blocked a cleartext HTTP (http://) resource load的解决办法
App Transport Security has blocked a cleartext HTTP (http://) resource load