在开发过程中我们需要涉及第三方登录等问题,除了友盟还有一个好用的第三方Diplomat,GitHub - lingochamp/Diplomat: 整合第三方 SDK 微信、微博、 QQ 等为统一的 Diplomat 接口。查看文档我们知道它如何使用,但是文档不是很详细,这里我们以微信登录为例简单解说一下它的使用。
通过 CocoaPods 安装。
pod 'Diplomat'
选择性安装
pod 'Diplomat/Wechat'
导入需要使用的第三方 SDK。
#import <Diplomat/WechatProxy.h>
[[Diplomat sharedInstance] registerWithConfigurations:@{kDiplomatTypeWechat:@{kDiplomatAppIdKey:你的app_id,
kDiplomatAppSecretKey:你的app_secret}}];
在ios9以上的系统由于Scheme白名单问题,需要在plist文件里配置key,因为ios9限制了http协议的访问,列为白名单后才可以检查其它应用是否安转,在info.plist文件右击open as的soure code里添加,使用微信的时候还要在plist文件里配置URL identifier 和 URL Schemes两个东西。
在苹果的上架审核中,不允许强制安装第三方应用,所以要在代码中判断是否安装了第三方,集体实现代码如下:
#import "WXApi.h"
//判断手机是否安装了微信
if([WXApiisWXAppInstalled]) {
//创键微信按钮
[selfcreat_wechat_button];
}
微信登录事件
- (void)wechetEvent
{
[self loginWithType:kDiplomatTypeWechat];
}
- (void)loginWithType:(NSString*)type
{
[[DiplomatsharedInstance]authWithName:typecompleted:^(idresult,NSError*error) {
if(result) {
//你的回调处理
}
}];
}
其它的使用查看第三方 SDK里的实现逻辑。