iOS开发日记4-第三方登录(ShareSDK)

今天博主有一个第三方登录的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.

 第三方登录的方法很多,最直接的方法就是去各大开发者平台申请id之后看官方文档直接集成,当然也有偷懒的方法.类似博主,使用的是ShareSDK进行第三方登录,当然也可以使用友盟进行第三方登录.第三方登录主要是通过拉取第三方的授权,获得第三方平台的用户ID,作为参数上传到自己的服务器中,换取令牌,达到登录的目的.

1.申请appKey ,去要集成的各大开发者平台申请

2.导入ShareSDK

3.配置URL Schemes

在这里配置URL Schemes,identifier随便填,能区别其他应用即可,URL Schemes按开发者平台要求填,通常是简称+appKey

4.添加依赖库

必须添加的依赖库如下:

libicucore.dylib

libz.dylib

libstdc++.dylib

JavaScriptCore.framework

以下依赖库根据社交平台添加

新浪微博SDK依赖库 

ImageIO.framework

QQ好友和QQ空间SDK依赖库(新注册腾讯开放平台帐号只支持SSO授权,只是老开发者才可以使用网页授权)

libstdc++.dylib

libsqlite3.dylib

5.在didFinishLaunch中注册appKey,初始化

    /**ShareSDK 集成*/

    [ShareSDK registerApp:@"appKey"];

#pragma mark-------

    [ShareSDK connectSinaWeiboWithAppKey:@"appKey"

                               appSecret:@"APPSecret"

                             redirectUri:@"http://www.baidu.com"];

    

    [ShareSDK connectQZoneWithAppKey:@"appKey"

                           appSecret:@"APPSecret"

                   qqApiInterfaceCls:[QQApiInterface class]

                     tencentOAuthCls:[TencentOAuth class]];

    

    [WXApi registerApp:APP_ID];

    [ShareSDK connectWeChatWithAppId:APP_ID   //微信APPID

                           appSecret:APP_SECRET  //微信APPSecret

                           wechatCls:[WXApi class]];

 6.在openURL中回调

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{    

        return [ShareSDK handleOpenURL:url

                     sourceApplication:sourceApplication

                            annotation:annotation

                            wxDelegate:self];

    

}

7. 在登录界面进行登录

#pragma mark -Weixin 登录

- (void)loginWeixinBtnClicked {

    [ShareSDK getUserInfoWithType:ShareTypeWeixiTimeline

                      authOptions:_authOptions

                           result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {

                               

                               if (result)

                               {

                                   //将从第三方平台获取的参数上传服务器

                                   NSDictionary *dict = @{@"udid" : [userInfo uid],

                                                          @"client" : YORequest_Client

                                                          };

                                   [self startTestLoginWithDictionary:dict withIsFrom:YES];

}

完成

PS:适配iOS9.0

http://wiki.mob.com/ios9-对sharesdk的影响(适配ios-9必读)/

在提交审核的时候如果没有安装qq微信,提示未安装qq微信会被拒绝,使用如下方法即可

转载于:https://www.cnblogs.com/Twisted-Fate/p/4737011.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值