iOS9 的HTTPS适配

iOS9发布之后,公司在App Store上的应用能否在iOS9上正常运行,为了证实这个东西,我特地在虚拟机上把开发环境升级到Xcode7和iOS9,当然电脑操作系统是需要 相应升级的,升级完之后,果断发现,之前公司的应用在iOS9上竟然无法连接网络获取数据了。

暂时没时间去升级接口,只能先补漏了,至少让整个App到时候能正常使用,当然先不去说所谓的安全性怎样怎样的问题。修改方法如下:

在info.plist文件中,新增一个:NSAppTransportSecurity  ,打开,加多一个NSAllowsArbitraryLoads 并且设置为YES就OK了;或者,你觉得麻烦,可以以另外一种方式添加 以Open as ->Source Code 的方法打开,然后加入以下代码

<key>NSAppTransportSecurity</key>

<dict>

<key>NSAllowsArbitraryLoads</key>

<true/>

</dict>

这段代码放的位置不用固定

搞定,测试发现,公司应用在iOS9上能正常获取网络数据了。

时间: 2024-11-05 14:46:52

iOS9 的HTTPS适配的相关文章

iOS9.0 https适配

苹果升级到iOS9.0后,貌似使用了TLS和SSL加密处理,导致一般的http发送请求获取不到数据,如何解决这个问题: 1)升级公司的服务器,采用https 2)使用代码回退使用http,目前苹果没有反对,但个人决定未来苹果可能会逐渐强制用户使用https(为了安全考虑无可厚非),但至少现在看来使用回退是比较直接的 info.plist文件中,新增一个:NSAppTransportSecurity  打开,加多一个NSAllowsArbitraryLoads 并且设置为YES就OK了:如图 或者

iOS9请求https问题-记录

iOS9 开始苹果将HTTP全改为HTTPS了,所以出现网络请求失败问题,解决办法: 1.改回HTTP: 在info.plist文件中添加一个Key:NSAppTransportSecurity(字典类型),然后给它添加一个Key:NSAllowsArbitraryLoads(Boolean型),属性值设为YES.如下图: 2.添加白名单 (这里主要针对运行程序打印‘-canOpenURL: failed for URL: "XXX" - error: "This app i

iOS9中如何适配http,Bitcode,设置sina,qq,weChat配置Scheme白名单

iOS9.0SDK在编译的时候,默认所有从NSURLConnection.CFURL和NSURLSession发出的http请求,都改为https请求.由于AFNetworking版本底层是用了NSURLConnection,所以使用AFNetworking的app都将受到影响.对于这个问题的解决办法有三种,一:让服务器更新,使用https,以解析相关的数据. 二:在info.plist做些配置,让其暂时倒回到不安全的网络传输协议(http协议).下面详细来说下这两种方案. 方案一:让服务器更新

Xcode7.0.1(ios9)的部分适配问题

今天更新了Xcode 7 正式版,App编译出现很多警告,在App运行的时候出现如下的提示......... the resource could not be loaded because the app transport security policy requires the use of a secure connection 资源不能被加载,因为该应用程序传输的安全策略要求使用安全连接 iOS9引入了新特性App Transport Security (ATS).详情:App Tra

Https适配

https封面 在WWDC 2016开发者大会上,苹果宣布了一个最后期限:到2017年1月1日 App Store中的所有应用都必须启用 App Transport Security安全功能.也就是说,自2017年起,网络请求必须由http改成https.正因为这个原因,我也打算尝试下适配Https网络请求.由于先前没有配置服务器经验,网上说的也很不详细,因此踩了不少坑,足足花了一天的时间.现在我把我配置的流程写下来,希望后来人能少走点弯路.(网上教程有,但是写得很乱,难理解,这里我打算用最通俗

ios9 http 的适配问题

iOS9 再一次体现了苹果的任性!默认的网络请求都必须是https了!但别慌,我找到了下面这种方法,简单暴力! 方法如下: 在info.plist文件中,新增一个:NSAppTransportSecurity  ,打开,加多一个NSAllowsArbitraryLoads 并且设置为YES就OK了:或者,你觉得麻烦,可以以另外一种方式添加 以Open as ->Source Code 的方法打开,然后加入以下代码 <key>NSAppTransportSecurity</key&g

基于Nginx服务器和iOS9的HTTPS安全通信

简介 在网络通信中,使用抓包软件可以对网络请求进行分析,并进行重放攻击,重放攻击的解决方案一般是使用一个变化的参数,例如RSA加密的时间戳,但考虑到网络传输时延,时间戳需要有一定的误差容限,这样仍然不能从根本上防止重放攻击.想要较好的解决重放攻击问题,应考虑使用HTTPS通信,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比HTTP协议安全. 实现 对于用浏览器访问的网站,需要向CA申请证书才能保证HTTPS的网页被正常的浏览,否则会被警告是不安全或者未认证的网

ios应用去除IOS9的https

1.打开应用的info.plist ,右击->open as>source code . 2.粘贴代码 </dict> <key>NSAppTransportSecurity</key> <dict> <!--彻底倒退回不安全的HTTP网络请求,能任意进行HTTP请求 (不建议这样做)--> <key>NSAllowsArbitraryLoads</key> <true/> </dict>

ios9 http ~ https

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. 出现这个问题,去网上查了,到处都是一种答案,不过还好解决了,可以在info.plist里面右键打开Open As 然后选择Source Code ,就打开了inf