转自:
清澈Saup(原文作者)
链接:http://www.cnblogs.com/qingche/p/3890480.html
1.前言
作为现在App里必不可少的用户分享需要,社交化分享显然是我们开发app里较为常用的。
最近因为公司App有社交化分享的需要,就特此研究了会,拿出来与大家分享。
想要集成社交会分享,我们可以使用
ShareSDK - 优点功能丰富,缺点体积较大
百度分享SDK - 缺点功能相对ShareSDK较少,优点体积较小
这是现在较为常用的两种社交化分享工具。
使用哪一种,就看个人的app的需要来决定了。
今天我主要说的是ShareSDK的简单集成和使用。
2.集成前的准备工作
2.1. 拿自己的Appkey 去下载ShareSDK
2.2. 申请分享工具的Appkey
例如: 新浪微博、腾讯微博、豆瓣应用、人人网、QQ空间
去各大社交网站的开发者平台,进行注册申请即可。
获取如下:
//新浪微博: //App Key:2258477553 //App Secret:1e2f275afc375109e456f550fb3918e8 //腾讯微博: //App key:2620460989 //App secret:58c55f572d5ae35e0c355f4c0ee11283
3.集成ShareSDK
3.1.注册使用ShareSDK
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //注册ShareSDK [ShareSDK registerApp:@"1983bf0916db”]; return YES; }
3.2.添加要集成的分享平台
注意: 新浪微博需要提供回调地址才行
回调地址去新浪开发者平台获取
如图:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //注册ShareSDK [ShareSDK registerApp:@"1983bf0916db”]; //添加新浪微博应用 [ShareSDK connectSinaWeiboWithAppKey:@"2620460989" appSecret:@"58c55f572d5ae35e0c355f4c0ee11283" redirectUri:@"http://weibo.cn/ext/share?ru=http%3A%2F%2F16kxs.com%2Fwap%2FBook%2FShow.aspx%3Fid%3D7983%26lmid%3D0%26uid%3D0%26ups%3D0&rt=%E9%83%BD%E5%B8%82%E7%89%A7%E9%AC%BC%E4%BA%BA&st=1301645308&appkey=2620460989”]; //添加腾讯微博应用 [ShareSDK connectTencentWeiboWithAppKey:@"801307650" appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c" redirectUri:@"http://www.sharesdk.cn"]; //添加豆瓣应用 [ShareSDK connectDoubanWithAppKey:@"07d08fbfc1210e931771af3f43632bb9" appSecret:@"e32896161e72be91" redirectUri:@"http://dev.kumoway.com/braininference/infos.php"]; //添加人人网应用 [ShareSDK connectRenRenWithAppKey:@"fc5b8aed373c4c27a05b712acba0f8c3" appSecret:@"f29df781abdd4f49beca5a2194676ca4"]; //添加Facebook应用 [ShareSDK connectFacebookWithAppKey:@"107704292745179" appSecret:@"38053202e1a5fe26c80c753071f0b573"]; }
3.3.弹出分享View
a.初始化默认分享内容
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"123" ofType:@"png"]; //构建优秀的SDK //构造分享内容 id<ISSContent> publishContent = [ShareSDK content:@"iOS社交化分享测试内容。" defaultContent:@"默认分享内容,没内容时显示" image:[ShareSDK imageWithPath:imagePath] title:@"ShareSDK" url:@"http://www.sharesdk.cn" description:@"这是一条测试信息" mediaType:SSPublishContentMediaTypeNews];
b.弹出分享View
[ShareSDK showShareActionSheet:nil shareList:nil content:publishContent statusBarTips:YES authOptions:nil shareOptions: nil result:^(ShareType type, SSResponseState state, id<ISSPlatformShareInfo> statusInfo, id<ICMErrorInfo> error, BOOL end) { if (state == SSResponseStateSuccess) { NSLog(@"分享成功"); } else if (state == SSResponseStateFail) { NSLog(@"分享失败,错误码:%d,错误描述:%@", [error errorCode], [error errorDescription]); } }];
效果图:
作者: 清澈Saup
出处: http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。
1.前言
不多说,第三登录无处不在!必备技能,今天以新浪微博为例。
这是上次写的iOS第三方社交分享:
http://www.cnblogs.com/qingche/p/3727559.html
可以和今天的一起集成使用。
2.集成前的准备工作
2.1.去ShareSDK(现为Mob)注册帐号,下载SDK,然后添加自己的应用后得到AppKey
![](http://images.cnitblog.com/i/594665/201408/041624058975124.png)
2.2.申请第三方登录的Appkey
例如: 新浪微博、腾讯微博、QQ、微信、豆瓣应用、人人网、QQ空间
去各大社交网站的开发者平台,进行注册,添加应用即可得到。
获取如下:
![](http://images.cnitblog.com/i/594665/201408/041625093813585.png)
2.3.前往Parse用户注册并下载SDK。
![](http://images.cnitblog.com/i/594665/201408/041625258813425.png)
![](http://images.cnitblog.com/i/594665/201408/041625432723640.png)
3.集成shareSDK
3.1.导SDK
![](http://images.cnitblog.com/i/594665/201408/041626500845417.png)
选中工程项目进入“Build Phases”在“Link Binary With Libraries”中点击“+”号,按照ShareSDK的集成文档与Parse的文档说明把需要引入的库加入到项目中
![](http://images.cnitblog.com/i/594665/201408/041627076623687.png)
3.2.注册ShareSDK
![](http://images.cnitblog.com/i/594665/201408/041627359128051.png)
3.3.添加要集成的第三方登录平台
注意: 新浪微博需要提供回调地址才行
回调地址去新浪开发者平台获取
1
2
3
|
[ShareSDK connectSinaWeiboWithAppKey:@
"3819780424"
appSecret:@
"6ce8dba1a8baa6803b6e3824518422b3"
|
1
|
<span style=
"color: #ff0000;"
>redirectUri 要和开发平台的回调页面相同</span>
|
3.4. 、在 - (BOOL)application: didFinishLaunchingWithOptions:注册ShareSDK、添加集成平台、注册Parse
- (
BOOL
)application:(UIApplication *)application didFinishLaunchingWithOptions:(
NSDictionary
*)launchOptions
{
// Override point for customization after application launch.
[ShareSDK registerApp:@
"288fe15ac67e"
];
//参数为ShareSDK官网中添加应用后得到的AppKey
//Parse Key
[Parse setApplicationId:@
"gKROXKemyAYT1JEQPwFjcuNRL7qPLguXpYWS1qb9"
clientKey:@
"U48G8pla1trx8voPeOpH8Hts9QN475g27STuxuWo"
];
///新浪微博:
//App Key:3819780424
//App Secret:6ce8dba1a8baa6803b6e3824518422b3
//腾讯微博:
//App key:2620460989
//App secret:58c55f572d5ae35e0c355f4c0ee11283
//分享内容URL
[ShareSDK connectSinaWeiboWithAppKey:@
"3819780424"
appSecret:@
"6ce8dba1a8baa6803b6e3824518422b3"
// //新浪微博
// //App Key:801498670
// //App Secret:882c5581fa08e4068e9b920b65dac4ac
//
// //添加腾讯微博应用
// [ShareSDK connectTencentWeiboWithAppKey:@"801307650"
// appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c"
// redirectUri:@"http://www.sharesdk.cn"];
// //添加豆瓣应用
// [ShareSDK connectDoubanWithAppKey:@"07d08fbfc1210e931771af3f43632bb9"
// appSecret:@"e32896161e72be91"
// redirectUri:@"http://dev.kumoway.com/braininference/infos.php"];
//
// //添加人人网应用
// [ShareSDK connectRenRenWithAppKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
// appSecret:@"f29df781abdd4f49beca5a2194676ca4"];
//
//
//
// //添加Facebook应用
// [ShareSDK connectFacebookWithAppKey:@"107704292745179"
// appSecret:@"38053202e1a5fe26c80c753071f0b573"];
return
YES
;
}
|
其中传入ShareSDK的参数则是之前创建应用的AppKey,而Parse的ApplicationId和clientKey可在应用信息面板中获取。
3.5.实现SSO授权(SSO授权登录<无需用户输入密码登录>)
注意:每个第三方客户端的SSO授权方法不同:
详情可查看
http://wiki.sharesdk.cn/iOS配置SSO授权
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//(新浪微博)例:在AppDelegate添加2个方法:
- (
BOOL
)application:(UIApplication *)application handleOpenURL:(
NSURL
*)url
{
return
[ShareSDK handleOpenURL:url wxDelegate:
nil
];
}
- (
BOOL
)application:(UIApplication *)application openURL:(
NSURL
*)url sourceApplication:(
NSString
*)sourceApplication annotation:(
id
)annotation
{
return
[ShareSDK handleOpenURL:url
sourceApplication:sourceApplication
annotation:annotation
wxDelegate:
nil
];
}
|
打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于新浪微博的Scheme(如果不添加则会导致法返回应用)。其填写格式为:wb+appKey(你在新浪微博申请的AppKey), 如:wb2279784657。如图所示:
![](http://images.cnitblog.com/i/594665/201408/041636206156884.jpg)
3.6.拖一个按钮,在按钮的点击事件实现第三方登录
3.7.注册登录成功后,可以登录Parse 查看数据已经成功写入,如图:
3.8.最后来一个注销按钮即可,返回登录界面
1
2
3
4
5
6
|
- (
void
)logoutButtonClickHandler:(
id
)sender
{
[ShareSDK cancelAuthWithType:ShareTypeSinaWeibo];
[
self
.navigationController popViewControllerAnimated:
NO
];
}
|
作者: 清澈Saup
出处: http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。