ShareKit
是iPhone中一键分享文字,图片,链接,文件到Facebook, twitter, delicious, tumblr, google
reader等第三方网站的objc库
(1) Download :
(2) Github :
详细配置如下:
一.首先需要在SHKConfig.h中针对应用的名称和回调链接作一个全局设置:
- #define SHKMyAppName @"iSports"
- #define SHKMyAppURL @""
#define SHKMyAppName @"iSports"
#define SHKMyAppURL @""
二.第三方平台API Key的配置
1.Facebook
<1>.创建一个application(
http://www.facebook.com/developers/)
<2>.将上面生成的key对应到SHKConfig.h:
- #define SHKFacebookUseSessionProxy NO
- #define SHKFacebookKey @"e5aeb908d24f4c7ace1a623374280869"
- #define SHKFacebookSecret @"b09478d7873bd4779f387c3e58f9df93"
- #define SHKFacebookSessionProxyURL @""
#define SHKFacebookUseSessionProxy NO
#define SHKFacebookKey @"e5aeb908d24f4c7ace1a623374280869"
#define SHKFacebookSecret @"b09478d7873bd4779f387c3e58f9df93"
#define SHKFacebookSessionProxyURL @"" // left it blank here
2.Twitter <1>.创建一个基于browser的application
(
http://dev.twitter.com/apps/new)
<2>.将上面生成的key对应到SHKConfig.h:
- #define SHKTwitterConsumerKey @"oUYTCJTaB1BmQnIBDKPMTg"
- #define SHKTwitterSecret @"U4CDOvOTvUnEfHuEUfrvphQ96UFZYv87R6q7ZG1jsM"
- #define SHKTwitterCallbackUrl @""
- #define SHKTwitterUseXAuth 0
- #define SHKTwitterUsername @""
#define SHKTwitterConsumerKey @"oUYTCJTaB1BmQnIBDKPMTg"
#define SHKTwitterSecret @"U4CDOvOTvUnEfHuEUfrvphQ96UFZYv87R6q7ZG1jsM"
#define SHKTwitterCallbackUrl @""
#define SHKTwitterUseXAuth 0 // To use xAuth, set to 1
#define SHKTwitterUsername @"" // left it blank here , if use xAuth
3.Bit.ly (for shortening URLs on Twitter:
(1)注册Bit.lyAPI key: )
- #define SHKBitLyLogin @"marshluca"
- #define SHKBitLyKey @"R_0177fa6e25c72544cb72bc5ec3150b4d"
#define SHKBitLyLogin @"marshluca"
#define SHKBitLyKey @"R_0177fa6e25c72544cb72bc5ec3150b4d"
4.Read it Later (1).注册API Key:()
- #define SHKReadItLaterKey @"7d1dbZ6dTdh6ay8d42Ac1a3V7dgbQe1a"
#define SHKReadItLaterKey @"7d1dbZ6dTdh6ay8d42Ac1a3V7dgbQe1a"
5.Tumblr
(不需要配置API Key)
6.Google Reader (不需要配置API Key)
三.调用代码:
- - (void)loadToolbar
- {
- UIBarButtonItem *spaceItem = [[[UIBarButtonItem alloc]
- initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
- target:self
- action:nil] autorelease];
-
- UIBarButtonItem *shareItem = [[[UIBarButtonItem alloc]
- initWithBarButtonSystemItem:UIBarButtonSystemItemAction
- target:self
- action:@selector(shareLink)] autorelease];
-
- CGRect rect = CGRectMake(0,392, 320, 44);
- UIToolbar *toobar = [[[UIToolbar alloc] initWithFrame:rect] autorelease];
- toobar.barStyle = UIBarStyleBlackOpaque;
- toobar.items = [[NSArray alloc] initWithObjects:spaceItem,shareItem,spaceItem,nil];
- [self.view addSubview:toobar];
- }
-
-
- - (void)shareLink
- {
- NSURL *sharedURL = [NSURL URLWithString:@""];
- SHKItem *item = [SHKItem URL:sharedURL title:@"Google Test"];
- SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
- [actionSheet showFromToolbar:self.navigationController.toolbar];
- }
- (void)loadToolbar
{
UIBarButtonItem *spaceItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:self
action:nil] autorelease];
UIBarButtonItem *shareItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAction
target:self
action:@selector(shareLink)] autorelease];
CGRect rect = CGRectMake(0,392, 320, 44);
UIToolbar *toobar = [[[UIToolbar alloc] initWithFrame:rect] autorelease];
toobar.barStyle = UIBarStyleBlackOpaque;
toobar.items = [[NSArray alloc] initWithObjects:spaceItem,shareItem,spaceItem,nil];
[self.view addSubview:toobar];
}
- (void)shareLink
{
NSURL *sharedURL = [NSURL URLWithString:@""];
SHKItem *item = [SHKItem URL:sharedURL title:@"Google Test"];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
[actionSheet showFromToolbar:self.navigationController.toolbar];
}
四.注意: 1.只有Facebook, Twitter采用的是OAuth
Connect
2.如果采取的是TabBarViewController结构的话,需要为每一个Share
View对应的RooViewController做如下设置:(官方文档中没有说明这一点)
(1)先引入:#import "SHK.h"
(2)在RootViewController初始化的地方加上:[SHK setRootViewController:self];
3.不同APP不能共享一个OAuth Connect Secret Key ,
否则在twitter和facebook分享的时候出现客户端分享成功,但是却没有真正提交到第三方网站的假分享.(一个mobile
app必须严格对应一个facebook, twitter app)