IOS 9 关于微信,QQ三方登陆的https适配结局方案,XCODE配置

来源:互联网 发布:淘宝北卡大学是正品吗 编辑:程序博客网 时间:2024/04/29 20:49

OS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。服务器因此需要更新,以解析相关数据。如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求。OS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。服务器因此需要更新,以解析相关数据。如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求。OS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。服务器因此需要更新,以解析相关数据。如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求。

对于我们开发者,必须要了解什么是TLS1.2 ,在IOS9 发布之后,我将XCODE升级到了7.0版本,同事升级iphone 到9.0,这时候发现打开列表无法展示数据,然后看了一下官方文档,最终找到如何屏蔽使用HTTPS协议,继续使用不安全的HTTP 协议的方法,那就是在项目的info.plist中配置,屏蔽TLS1.2 协议的使用,继续使用不安全的HTTP 协议

这里不多说,直接上结果:

在info.plist 中添加如下内容

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>







如图,红色标示的是需要添加的东西, 原理是:添加这个就可以让你的APP跳过apple 的网络更新要求,继续使用原来的HTTP协议,但是当你的服务器更新到HTTPS协议之后,这些信息就可以删除


下面介绍一下对于三方登陆和分享收藏相关的网络问题

升级之后也会相继出现QQ,微信,微博都不显示已安装的状态,走代码调试发现就好像没有安装一样,其根本原因也是网络协议导致,最终的解决方案还是要适配IOS9 ,如果不适配那就屏蔽他,具体方法是:配置plist文件,如图所示


解释一下这些都是什么东西:

首先LSApplicationQueruesSchemes我想大家应该知道,所添加的东西,item0,item1,是支付宝平台的分享相关

item2,item3,分别是微信的登陆和分享收藏,如果你只添加weixin这一项,出现的情况是只能登陆,不能分享,

剩下的都是QQ,QQ空间的登陆和分享相关的SDK所涉及到的API访问权限的设置。

在这里,可以将登陆分享相关的API列到网络访问允许的队列,相当于白名单,所以可以继续沿用IOS8 的网络请求,

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>alipay</string>
        <string>alipayshare</string>
        <string>weixin</string>
        <string>wechat</string>
        <string>mqq</string>
        <string>mqqopensdkapiV2</string>
        <string>mqqOpensdkSSoLogin</string>
        <string>mqqopensdkapiV3</string>
        <string>wtloginmqq2</string>
        <string>mqqapi</string>
    </array>

直接将这段代码贴到plist文件中,就可以完美的登陆微信,QQ和进行相关的分享了,


0 0
原创粉丝点击