标签:
在学习网络处理的过程,发现代码都没错,运行时却发生以下警告:
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.
问题分析:
应用程序采取了明文HTTP协议(http:/ /)。而在iOS9 中,苹果引入了一项隐私保护功能ATS(App Transport Security),屏蔽http明文传输协议资源加载,因为http明文传输协议不安全,连接必须改成更安全的https协议。目前修改info.plist文件配置,让应用程序暂时关闭ATS,可以继续使用HTTP明文传输。
从苹果的官方消息,苹果有意App Store中的所有应用都必须启用 App Transport Security安全功能。
解决办法:
直接打开info.plist文件,添加key元素
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
具体位置如下
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> ... <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> ... </dict> </plist>
或者在xcode中打开info.plist,添加"NSAppTransportSecurity",类型为“Dictionary” 。再“NSAppTransportSecurity”下添加"NSAllowsArbitraryLoads", 类型为"Boolean",“Value”为“YES”即可。
标签:
原文地址:http://www.cnblogs.com/Zev_Fung/p/5591241.html