1. U-Share SDK集成
1.1 下载U-Share SDK
通过iOS社会化组件选择所需的社交平台后进行下载,下载链接http://dev.umeng.com/social/ios/sdk-download?spm=0.0.0.0.1up3mE
SDK目录介绍
1. Document - U-Share SDK文档
2. UMSocialDemo - U-Share SDK Demo(如点选下载)
3. UMSocial - U-Share SDK核心目录
UMSocialSDK - U-Share SDK核心framework
UMSocialUI - U-Share 分享UI资源、分享面板framework
SocialLibraries - 所选择下载的第三方平台SDK及U-Share链接库
1.2 加入U-Share SDK
将U-Share SDK添加到工程
添加项目配置
在Other Linker Flags加入-ObjC
加入依赖系统库
选中项目Target -> Linked Frameworks and Libraries列表中添加依赖库
SystemConfiguration.framework
CoreTelephony.framework
ImageIO.framework
libsqlite3.tbd
libc++.tbd
libz.tbd
2. U-Share SDK平台配置
从这一步骤就开始需要第三方appKey和appSecret等信息,可参考链接http://dev.umeng.com/social/ios/operation申请所需的平台账号。
2.1 配置各平台URL Scheme
2.1.1 添加URL Types
- URL Scheme是通过系统找到并跳转对应app的一类设置,通过向项目中的info.plist文件中加入
URL types
可使用第三方平台所注册的appkey信息向系统注册你的app,当跳转到第三方应用授权或分享后,可直接跳转回你的app。 - 添加URL Types有如下几处,都可进行设置
- 通过工程设置面板
- 通过info.plist文件编辑
- 直接编辑info.plist中XML代码
2.1.2 配置第三方平台URL Scheme
未列出则不需设置
| 格式 | 举例 | 备注 |
微信 | 微信appKey | wxdc1e388c3822c80b | |
QQ/Qzone | 以下两项都需添加: 1、"tencent"+腾讯QQ互联应用appID 2、“QQ”+腾讯QQ互联应用appID转换成十六进制(不足8位前面补0) | appID:100424468 1、tencent100424468 2、QQ05fc5b14 | 100424468转十六进制为5fc5b14,因不足8位向前补0,结果为05fc5b14,加"QQ"前缀QQ05fc5b14 |
新浪微博 | “wb”+新浪appKey | wb3921700954 | |
钉钉 | 钉钉appkey | dingoalmlnohc0wggfedpk | URL Type中的identifier填"dingtalk" |
支付宝 | “ap”+appID | ap2015111700822536 | URL Type中的identifier填"alipayShare" |
易信 | 易信appkey | yx35664bdff4db42c2b7be1e29390c1a06 | |
点点虫 | 点点虫appID | 8112117817424282305 | URL Type中的identifier填"Laiwang" |
2.2 适配iOS9/10系统
iOS9系统后Apple对HTTP请求及访问外部应用做了更加严格的要求,包括HTTP白名单、跳转第三方应用白名单等
2.2.1 HTTPS传输安全
以iOS10 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断请求。目前可用如下两种方式保持用HTTP进行网络连接:
在info.plist中加入安全域名白名单(右键info.plist用source code打开)<key>NSAppTransportSecurity</key>
<dict>
<!-- 配置允许 http的任意网络Begin-->
<key>NSAllowsArbitraryLoads</key>
<true/>
<!-- 配置允许 http的任意网络End-->
<key>NSExceptionDomains</key>
<dict>
<!-- U-Share必须配置的HTTP白名单-->
<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>
<!-- U-Share-->
<!-- 集成微信、QQ、Qzone、腾讯微博授权对应的HTTP白名单-->
<key>qq.com</key>
<dict>