第三方登录ShareSDK

前言:

第三方登录是做开始时经常用到的,方法有两种:第一种是对各个平台进行注册,按照官方文档走一遍,第二种则是通过第三方的管理平台进行集成。我用过友盟,ShareSDK等。感觉还是ShareSDK比较好用,而且服务还比较友善,下面重点介绍一下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、添加依赖库 如图所示:

第三方登录ShareSDK_第1张图片
依赖库.png

4、在AppDelegate.m中引入相应的头文件,如图所示:

第三方登录ShareSDK_第2张图片
头文件.png

5、在- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary)launchOptions {}写如下代码:

第三方登录ShareSDK_第3张图片
![02.png](http://upload-images.jianshu.io/upload_images/2358583-55b884aee363ae47.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

6、配置信息
(1)需要在info.plist文件中添加白名单,不然的话授权回调页回调不成功,在项目的info.plist中添加一LSApplicationQueriesSchemes,类型为Array 添加如下


第三方登录ShareSDK_第4张图片
白名单.png

(2)在info.plist文件中添加


网络请求.png

(3)新浪微博要在Build Setting-Linking-Other Linker Flags中添加-ObjC,不然的话会报错。
(4)qq 微信 微博配置信息
第三方登录ShareSDK_第5张图片
配置信息.png

1>

a、qq是需要在URL Schemes中添加2个,一个是tencent+QQ的AppId,
b、另一个是转换成十六进制的,转换成16进制的方法:echo 'ibase=10;obase=16;1105506645'|bc,其中1105506645是QQ的AppId。如下图所示:
c、把41E4B155复制到URL Schemes中 QQ41E4B155不足八位的前面补0


第三方登录ShareSDK_第6张图片
转换成十六进制的方法.png

2>微信在URL Schemes添加微信的AppID
3>新浪微博在URL Schemes添加wb+App Key
7、分别在QQ 微信 微博的点击事件中添加获取用户信息的授权方法
基于ShareSDK判断是否安装了应用:
#import   
#import "WXApi.h"  
#import   
if ([WXApi isWXAppInstalled]) {  
     //判断是否有微信  
}  
 
if ([QQApi isQQInstalled]) {  
     //判断是否有qq  
}  
  if ([WeiboSDK isWeiboAppInstalled]) {

         NSLog(@"安装了微博");

    }

基于系统的来判断:

   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://"]]) { //推特}

各个平台的注册网址:

1、微信:https://open.weixin.qq.com
2、QQ: http://open.qq.com

你可能感兴趣的:(第三方登录ShareSDK)