友盟分享适配iOS9
在新发布的iOS9系统上围绕用户数据的安全性和体验新增了一些安全特性,同时也影响了应用的实现以及集成方式,为了保证良好的稳定性和体验,需要做如下处理:
1. HTTP传输安全
以iOS9 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断请求。目前可用如下两种方式保持用HTTP进行网络连接:
A、在info.plist中加入安全域名白名单(右键info.plist用source code打开)
- <key>NSAppTransportSecurity</key>
- <dict>
- <key>NSExceptionDomains</key>
- <dict>
- <key>log.umsns.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSTemporaryExceptionMinimumTLSVersion</key>
- <string>TLSv1.1</string>
- </dict>
- <key>sns.whalecloud.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSTemporaryExceptionMinimumTLSVersion</key>
- <string>TLSv1.1</string>
- </dict>
- <!-- 集成新浪微博对应的HTTP白名单-->
- <key>sina.cn</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>weibo.cn</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>weibo.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>sinaimg.cn</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>sinajs.cn</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>sina.com.cn</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <!-- 新浪微博-->
- <!-- 集成微信、QQ、Qzone、腾讯微博授权对应的HTTP白名单-->
- <key>qq.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <!-- 腾讯授权-->
- <!-- 集成人人授权对应的HTTP白名单-->
- <key>renren.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
- <true/>
- <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <!-- 人人授权-->
- <!-- 集成Facebook授权对应的HTTP白名单-->
- <key>facebook.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>fbcdn.net</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <key>akamaihd.net</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <!-- Facebook授权-->
- <!-- 集成Twitter授权对应的HTTP白名单-->
- <key>twitter.com</key>
- <dict>
- <key>NSIncludesSubdomains</key>
- <true/>
- <key>NSExceptionRequiresForwardSecrecy</key>
- <false/>
- </dict>
- <!-- Twitter授权-->
- </dict>
- </dict>
注:以上部分平台官方未给出相应白名单,由技术人员测试各个平台所收集而来,如果有所遗漏,请自行加入并向客服说明,我们会进一步补充名单。
B、在info.plist的NSAppTransportSecurity下新增NSAllowsArbitraryLoads并设置为YES,指定所有HTTP连接都可正常请求 http://dev.umeng.com/social/ios/ios9
- <key>NSAppTransportSecurity</key>
- <dict>
- <key>NSAllowsArbitraryLoads</key>
- <true/>
- </dict>
2. 应用跳转(SSO等)
如果你的应用使用了如SSO授权登录或跳转分享功能,在iOS9下就需要增加一个可跳转的白名单,指定对应跳转App的URL Scheme,否则将在第三方平台判断是否跳转时用到的canOpenURL时返回NO,进而只进行webview授权或授权/分享失败。
同样在info.plist增加:
- <key>LSApplicationQueriesSchemes</key>
- <array>
- <!-- 微信 URL Scheme 白名单-->
- <string>wechat</string>
- <string>weixin</string>
- <!-- 新浪微博 URL Scheme 白名单-->
- <string>sinaweibohd</string>
- <string>sinaweibo</string>
- <string>sinaweibosso</string>
- <string>weibosdk</string>
- <string>weibosdk2.5</string>
- <!-- QQ、Qzone URL Scheme 白名单-->
- <string>mqqapi</string>
- <string>mqq</string>
- <string>mqqOpensdkSSoLogin</string>
- <string>mqqconnect</string>
- <string>mqqopensdkdataline</string>
- <string>mqqopensdkgrouptribeshare</string>
- <string>mqqopensdkfriend</string>
- <string>mqqopensdkapi</string>
- <string>mqqopensdkapiV2</string>
- <string>mqqopensdkapiV3</string>
- <string>mqzoneopensdk</string>
- <string>wtloginmqq</string>
- <string>wtloginmqq2</string>
- <string>mqqwpa</string>
- <string>mqzone</string>
- <string>mqzonev2</string>
- <string>mqzoneshare</string>
- <string>wtloginqzone</string>
- <string>mqzonewx</string>
- <string>mqzoneopensdkapiV2</string>
- <string>mqzoneopensdkapi19</string>
- <string>mqzoneopensdkapi</string>
- <string>mqqbrowser</string>
- <string>mttbrowser</string>
- <!-- 支付宝 URL Scheme 白名单-->
- <string>alipay</string>
- <string>alipayshare</string>
- <!-- 人人 URL Scheme 白名单-->
- <string>renrenios</string>
- <string>renrenapi</string>
- <string>renren</string>
- <string>renreniphone</string>
- <!-- 来往 URL Scheme 白名单-->
- <string>laiwangsso</string>
- <!-- 易信 URL Scheme 白名单-->
- <string>yixin</string>
- <string>yixinopenapi</string>
- <!-- instagram URL Scheme 白名单-->
- <string>instagram</string>
- <!-- whatsapp URL Scheme 白名单-->
- <string>whatsapp</string>
- <!-- line URL Scheme 白名单-->
- <string>line</string>
- <!-- Facebook URL Scheme 白名单-->
- <string>fbapi</string>
- <string>fb-messenger-api</string>
- <string>fbauth2</string>
- <string>fbshareextension</string>
- </array>
友盟分享适配iOS9的更多相关文章
- IOS9.0 之后友盟分享详细过程
一: 申请友盟的AppKey(友盟的Key是根据应用的名称生成的!) 在友盟注册了你自己的开发者账号后就可以申请AppKey了.然后在这个方法里面设置Key - (BOOL)application:( ...
- iOS9.0 友盟分享详细过程
一: 申请友盟的AppKey(友盟的Key是根据应用的名称生成的!) 在友盟注册了你自己的开发者账号后就可以申请AppKey了.然后在这个方法里面设置Key - (BOOL)application:( ...
- iOS开发——iOS10升级极光推送SDK、友盟分享SDK
前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...
- iOS友盟分享的使用总结
现在几乎所有的APP都会集成分享,为了可以更好的推广自己的APP. 目前市面上常用的分享无非就三个: 1.友盟分享; 2.shareSDK(mob); 3.苹果原生. 由于苹果原生的分享使用起来不方便 ...
- 友盟分享小结 - iOS
因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...
- ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现
问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...
- Android 友盟分享躺过的几个坑,大坑,坑爹啊
前言:公司上线了一个项目,做Android 客户端集成友盟分享,在做得过程中,遇到了下面3个问题,希望其他小伙伴注意. ) 错误1: 1.错误描述 我是照着友盟的集成文档一步一步的集成的,做完后,发现 ...
- iOS开发-友盟分享(3)
iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...
- iOS开发-友盟分享使用(2)
1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...
随机推荐
- 【问题】CentOS6.5系统"libc.so.6: version 'GLIBC_2.15' not found"解决方法
出现"libc.so.6: version 'GLIBC_2.15' not found"问题,是由于glibc版本过低,升级glibc即可. 由于CentOS系统RPM源目前gl ...
- 微信小程序 一些要点
微信小程序,weixin,关于微信小程序,那些开发文档没有告诉你的-微信小程序开发资源-微信开发者平台,微信开发者社区,微信小程序开发者社区 Discuz! Team and Comsenz UI T ...
- 理解和使用WPF 验证机制(值得推荐)
首先建立一个demo用以学习和实验WPF Data Validation机制.创建一个数据实体类: public class Employee { public string Name { get; ...
- lua(仿单继承)
--lua仿单继承 Account = { balance = } function Account:new(o) o = o or {} setmetatable(o, self)--Account ...
- MySQL (时间)日期相减取天数
select TO_DAYS(str_to_date('12/1/2001 12:00:00 AM','%m/%d/%Y')) -TO_DAYS(str_to_date('11/28/2001 12: ...
- SharePoint服务器端对象模型 之 访问文件和文件夹(Part 1)
本节中所阐述的内容,主要适用于SharePoint文档库中的文件和文件夹,以及列表中的文件夹.系统中的其他文件(如_layouts中的文件.配置文件.程序文件等)不在本章节的讨论范围之内. (一) ...
- mysql-font的理解
mysql-front是为mysql制作的一种图形化界面工具,可以管理和操作数据库,比如建表,修改数据,拖拽方式的数据库和表格,可编辑/可增加/删除的域,可编辑/可插入/删除的记录,可显示的成员,可执 ...
- Springboot 1.5.x版本上读取自定义配置文件问题
原来的解决方案: 现在1.5.x以后取消了location地址 1.5以后解决方案:
- <2013 10 18> Linux随机数生成器可能确实存在安全弱点
生成随机数是密码学中的一项基本任务,是生成加密密钥和加密算法或加密协议所必不可少的.理想中的随机数是完美的,但实践中的随机数都是用伪随机数生成器(PRNG)生成,随机数的质量对安全性至关重要.安全专家 ...
- 常用代码页与BOM
常用代码页:CP437 IBM437 OEM United StatesCP1252表示West European LatinCP932 日本CP949 韩国CP936表示GBK中文编码CP54936 ...