怎样在Xcode7上面去禁止iOS 9 的 App 传输安全 ,以及修复“Could not connect to sever”错误

        

本文翻译自 http://iosdevtips.co 网站


      怎样在Xcode7上面去禁止iOS 9 的 App 传输安全 ,以及修复“Could not connect to sever”错误



苹果在iOS 9 上面做出了一个激进的决定,禁止 所有iOS App上不安全的HTTP 传输。 作为 App传输安全的一部分。


这帮助强制加强安全,但是很多场景下,你作为开发者,没有办法控制服务器。或者你可以,你想像连接任何内容的浏览器一样连接外部链接。


如果你尝试用 启用了ATS的库(比如 类似 AFNetworking)等,那么你将会看到类似这样的错误:

Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo=0x12ed5bad0 {NSUnderlyingError=0x12ee495b0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1004.)"


这里有方法去怎么去完全禁用 这个 ATS 的方法。打开Info.plist, 然后

加入如下的行:

<key>NSAppTransportSecurity</key>

<dict>

<key>NSAllowsArbitraryLoads</key>

<true/>

</dict>


打开plist ,它应该看起来像这样的:



请记在心里,这是最后的解决方案。你最好是能在你的设备上启用HTTPS, 或者 把你要访问的HTTP加入到域名白名单,如果这些都没有可能,那么才采用这个 方案。


阅读更多
个人分类: iphone/object-c
上一篇iOS 开发中 SIGPIPE信号的分析跟处理
下一篇不做从strong 到weak 的转换,如何避免循环引用
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭