在開(kāi)發(fā)過(guò)程中我們需要涉及第三方登錄等問(wèn)題,除了友盟還有一個(gè)好用的第三方Diplomat,GitHub - lingochamp/Diplomat: 整合第三方 SDK 微信、微博、 QQ 等為統(tǒng)一的 Diplomat 接口。查看文檔我們知道它如何使用,但是文檔不是很詳細(xì),這里我們以微信登錄為例簡(jiǎn)單解說(shuō)一下它的使用。
通過(guò) CocoaPods 安裝。
pod 'Diplomat'
選擇性安裝
pod 'Diplomat/Wechat'
導(dǎo)入需要使用的第三方 SDK。
#import <Diplomat/WechatProxy.h>
[[Diplomat sharedInstance] registerWithConfigurations:@{kDiplomatTypeWechat:@{kDiplomatAppIdKey:你的app_id,
kDiplomatAppSecretKey:你的app_secret}}];
在ios9以上的系統(tǒng)由于Scheme白名單問(wèn)題,需要在plist文件里配置key,因?yàn)閕os9限制了http協(xié)議的訪(fǎng)問(wèn),列為白名單后才可以檢查其它應(yīng)用是否安轉(zhuǎn),在info.plist文件右擊open as的soure code里添加,使用微信的時(shí)候還要在plist文件里配置URL identifier 和 URL Schemes兩個(gè)東西。

在蘋(píng)果的上架審核中,不允許強(qiáng)制安裝第三方應(yīng)用,所以要在代碼中判斷是否安裝了第三方,集體實(shí)現(xiàn)代碼如下:
#import "WXApi.h"
//判斷手機(jī)是否安裝了微信
if([WXApiisWXAppInstalled]) {
//創(chuàng)鍵微信按鈕
[selfcreat_wechat_button];
}
微信登錄事件
- (void)wechetEvent
{
[self loginWithType:kDiplomatTypeWechat];
}
- (void)loginWithType:(NSString*)type
{
[[DiplomatsharedInstance]authWithName:typecompleted:^(idresult,NSError*error) {
if(result) {
//你的回調(diào)處理
}
}];
}
其它的使用查看第三方 SDK里的實(shí)現(xiàn)邏輯。