Andy--清风  原创,转载请注明.谢谢

ShareKit是iPhone开发的第三方接口,允许你一键分享文字,图片,网址,文件到facebook,twitter,delicious,tumblr,google reader等第三方的网站。

 

下面是下载地址:

(1) Download : http://getsharekit.com/d/ShareKit.0.2.1.zip
(2) Github : http://github.com/ideashower/sharekit/

 

下载之后按照官方提示,把整个ShareKit文件夹拖入工程文件中;如下:

 

 

接下来要对他进行一些详细的配置,如下:

一、SHKConfig.h文件的配置

 
 
  
  1. #define SHKMyAppName            @"App name"     
  2. #define SHKMyAppURL             @"itunes address"      


二、第三方平台的API key的配置

 

1.Fackbook的配置

(1)在facebook的developers中心中申请创建一个Application。申请地址如下:(http://www.facebook.com/developers/

(2)将上面生成的Key填写在对应的SHKConfig.h文件中的对应的定义里:

 
 
  
  1.     #define SHKFacebookUseSessionProxy        NO     
  2.     #define SHKFacebookKey                    @"xxxx"     
  3.     #define SHKFacebookSecret                 @"xxx"     
  4.     #define SHKFacebookSessionProxyURL        @"" // left it blank here     
  5.  


2.Twitter的配置

(1)同Facebook一样配置一个application,地址为:(http://dev.twitter.com/apps/new)

(2)将申请生成的Key填写在SHKConfig.k文件对应的定义里:

 
 
  
  1. #define SHKTwitterConsumerKey        @"xxx"     
  2.     #define SHKTwitterSecret             @"xxx"     
  3.     #define SHKTwitterCallbackUrl        @"itunes address"     
  4.     #define SHKTwitterUseXAuth           0 // To use xAuth, set to 1     
  5.     #define SHKTwitterUsername           @""  // left it blank here , if use xAuth     
  6.  


3.其他的诸如Bit.ly,Read it Later等都可以上相应的网站注册API Key,然后在SHKConfig.h文件中找到相对应的定义填入进去。其中Tumblr和Google Reader是不需要配置API Key的。

三、如何使用:

调用之后如下:

 

因为我是只要分享到Facebook,不要其他的,所以需要修改他里面的源文件。修改步骤如下:

(1)在要调用分享的button里面调用如下方法,把要传递的url放入:

 

 
  
  1. - (void)share:(id)sender   
  2.    
  3. {   
  4.    
  5.       NSURL *url = [NSURL URLWithString:@"http://getsharekit.com"];   
  6.    
  7.       SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!"];   
  8.    
  9.       
  10.    
  11.       // Get the ShareKit action sheet   
  12.    
  13.       SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];   
  14.    
  15.       
  16.    
  17.     [actionSheet showFromToolbar:self.navigationController.toolbar];   
  18.    
  19.     
  20.    
  21. }   

 

(2)在SHK.m中修改:+ (NSArray *)favoriteSharersForType:(SHKShareType)type方法:如下:

 

 

 
 
  
  1. + (NSArray *)favoriteSharersForType:(SHKShareType)type   
  2.    
  3. {       
  4.    
  5.       NSArray *favoriteSharers = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"%@%i", SHK_FAVS_PREFIX_KEY, type]];   
  6.    
  7.               
  8.    
  9.       // set defaults   
  10.    
  11.       if (favoriteSharers == nil)   
  12.    
  13.       {   
  14.    
  15.             switch (type)   
  16.    
  17.             {   
  18.    
  19.                   case SHKShareTypeURL:   
  20.    
  21.                          favoriteSharers = [NSArray arrayWithObjects:@"SHKFacebook",nil];   
  22.    
  23.                          break;   
  24.    
  25.                            
  26.    
  27.                   case SHKShareTypeImage:   
  28.    
  29.                          favoriteSharers = [NSArray arrayWithObjects:@"SHKMail",@"SHKFacebook",@"SHKCopy",nil];   
  30.    
  31.                          break;   
  32.    
  33.                            
  34.    
  35.                   case SHKShareTypeText:   
  36.    
  37.                          favoriteSharers = [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", nil];   
  38.    
  39.                          break;   
  40.    
  41.                            
  42.    
  43.                   case SHKShareTypeFile:   
  44.    
  45.                          favoriteSharers = [NSArray arrayWithObjects:@"SHKMail", nil];   
  46.    
  47.                          break;   
  48.    
  49.             }   
  50.    
  51.               
  52.    
  53.             // Save defaults to prefs   
  54.    
  55.             [self setFavorites:favoriteSharers forType:type];   
  56.    
  57.       }   
  58.    
  59.         
  60.    
  61.       // Make sure the favorites are not using any exclusions, remove them if they are.   
  62.    
  63.       NSArray *exclusions = [[NSUserDefaults standardUserDefaults] objectForKey:@"SHKExcluded"];   
  64.    
  65.       if (exclusions != nil)   
  66.    
  67.       {   
  68.    
  69.             NSMutableArray *newFavs = [favoriteSharers mutableCopy];   
  70.    
  71.             for(NSString *sharerId in exclusions)   
  72.    
  73.             {   
  74.    
  75.                   [newFavs removeObject:sharerId];   
  76.    
  77.             }   
  78.    
  79.               
  80.    
  81.             // Update   
  82.    
  83.             favoriteSharers = [NSArray arrayWithArray:newFavs];   
  84.    
  85.             [self setFavorites:favoriteSharers forType:type];   
  86.    
  87.               
  88.    
  89.             [newFavs release];   
  90.    
  91.       }   
  92.    
  93.         
  94.    
  95.       return favoriteSharers;   
  96.    
  97. }   

 

(3)在SHKActionSheet.m文件中注释掉一下语句:

 
 
  
  1. // Add More button   
  2.    
  3.       [as addButtonWithTitle:SHKLocalizedString(@"More...")];   
  4.    
  5.     
  6.    
  7. // More   
  8.    
  9.       else if (buttonIndex == sharers.count)   
  10.    
  11.       {   
  12.    
  13.             SHKShareMenu *shareMenu = [[SHKCustomShareMenu alloc] initWithStyle:UITableViewStyleGrouped];   
  14.    
  15.             shareMenu.item = item;   
  16.    
  17.             [[SHK currentHelper] showViewController:shareMenu];   
  18.    
  19.             [shareMenu release];   
  20.    
  21.       }   


这样运行之后就可以如上图所示,只分享到facebook,其他的具体都可以参照以上。

今天的第三方接口ShareKit就讲解到这里,欢迎大家支持哈。