前言:
第三方登錄是做開始時(shí)經(jīng)常用到的峰伙,方法有兩種:第一種是對各個(gè)平臺進(jìn)行注冊,按照官方文檔走一遍该默,第二種則是通過第三方的管理平臺進(jìn)行集成瞳氓。我用過友盟,ShareSDK等栓袖。感覺還是ShareSDK比較好用匣摘,而且服務(wù)還比較友善,下面重點(diǎn)介紹一下ShareSDK的集成及遇到的一些坑裹刮。具體請看:http://wiki.mob.com/ios%e7%ae%80%e6%b4%81%e7%89%88%e5%bf%ab%e9%80%9f%e9%9b%86%e6%88%90/
步驟:
1音榜、首先需要注冊ShareSDK獲取AppKey,,地址:http://dashboard.mob.com/#/share/index
2捧弃、下載SDK:http://www.mob.com/downloadDetail/ShareSDK/ios
3赠叼、添加依賴庫 如圖所示:
4、在AppDelegate.m中引入相應(yīng)的頭文件塔橡,如圖所示:
5梅割、在- (BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary)launchOptions {}寫如下代碼:
6、配置信息
(1)需要在info.plist文件中添加白名單葛家,不然的話授權(quán)回調(diào)頁回調(diào)不成功户辞,在項(xiàng)目的info.plist中添加一LSApplicationQueriesSchemes,類型為Array 添加如下
(2)在info.plist文件中添加
(3)新浪微博要在Build Setting-Linking-Other Linker Flags中添加-ObjC癞谒,不然的話會報(bào)錯(cuò)底燎。
(4)qq 微信 微博配置信息
1>
a、qq是需要在URL Schemes中添加2個(gè)弹砚,一個(gè)是tencent+QQ的AppId双仍,
b、另一個(gè)是轉(zhuǎn)換成十六進(jìn)制的桌吃,轉(zhuǎn)換成16進(jìn)制的方法:echo 'ibase=10;obase=16;1105506645'|bc,其中1105506645是QQ的AppId朱沃。如下圖所示:
c、把41E4B155復(fù)制到URL Schemes中 QQ41E4B155不足八位的前面補(bǔ)0
2>微信在URL Schemes添加微信的AppID
3>新浪微博在URL Schemes添加wb+App Key
7、分別在QQ 微信 微博的點(diǎn)擊事件中添加獲取用戶信息的授權(quán)方法
基于ShareSDK判斷是否安裝了應(yīng)用:
#import <ShareSDK/ShareSDK.h>
#import "WXApi.h"
#import <TencentOpenAPI/QQApi.h>
if ([WXApi isWXAppInstalled]) {
//判斷是否有微信
}
if ([QQApi isQQInstalled]) {
//判斷是否有qq
}
if ([WeiboSDK isWeiboAppInstalled]) {
NSLog(@"安裝了微博");
}
基于系統(tǒng)的來判斷:
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"Sinaweibo://"]]) {//新浪微博 }
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"Whatapp://"]]) { //微信 }
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"weixin://"]]) { //微信}
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"Facebook://"]]) { //facebook}
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"Twitter://"]]) { //推特}
各個(gè)平臺的注冊網(wǎng)址:
1逗物、微信:https://open.weixin.qq.com
2搬卒、QQ: http://open.qq.com