今天做了QQ第三方登录,由于公司需要,没用集成的ShareSDK或友盟,走了些弯路,说一下我遇到的问题,以及解决的方式
1. pod 导入QQ的SDK
pod 'TencentOpenApiSDK', '~> 2.9.5'
又手动添加了
pod TencentOpenApi_IOS_Bundle.bundle
2. 添加 URL Schemes [解决了应用配置 URL Schemes 的错误]
Targets --> info --> URL Types
分别添加
URL Schemes :tencentXXX (XXX为从QQ那里申请的APP Key)
URL Schemes :QQXXX (XXX为从QQ那里申请的APP Key的16进制,不够8位,用0补齐)
3. info plist里添加字段 LSApplicationQueriesSchemes ,类型Array [解决了 找不到QQ客户端的问题 ]
添加URL Schemes白名单
<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>mqzoneopensdk</string>
<!-- 支付宝 URL Scheme 白名单-->
<string>alipay</string>
<string>alipayshare</string>
</array>