天天看點

使用ShareKit一鍵分享到Facebook,Twitter等平台

ShareKit是iPhone開發的第三方接口,允許你一鍵分享文字,圖檔,網址,檔案到facebook,twitter,delicious,tumblr,google reader等第三方的網站。

下面是下載下傳位址:

下載下傳之後按照官方提示,把整個ShareKit檔案夾拖入工程檔案中;如下:

使用ShareKit一鍵分享到Facebook,Twitter等平台

接下來要對他進行一些詳細的配置,如下:

一、SHKConfig.h檔案的配置

<code>#define SHKMyAppName            @"App name" </code>

<code>#define SHKMyAppURL             @"itunes address" </code>

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

1.Fackbook的配置

(2)将上面生成的Key填寫在對應的SHKConfig.h檔案中的對應的定義裡:

<code>#define SHKFacebookUseSessionProxy        NO </code>

<code>#define SHKFacebookKey                    @"xxxx" </code>

<code>#define SHKFacebookSecret                 @"xxx" </code>

<code>#define SHKFacebookSessionProxyURL        @"" // left it blank here </code>

2.Twitter的配置

(2)将申請生成的Key填寫在SHKConfig.k檔案對應的定義裡:

<code>#define SHKTwitterConsumerKey        @"xxx" </code>

<code>#define SHKTwitterSecret             @"xxx" </code>

<code>#define SHKTwitterCallbackUrl        @"itunes address" </code>

<code>#define SHKTwitterUseXAuth           0 // To use xAuth, set to 1 </code>

<code>#define SHKTwitterUsername           @""  // left it blank here , if use xAuth </code>

3.其他的諸如Bit.ly,Read it Later等都可以上相應的網站注冊API Key,然後在SHKConfig.h檔案中找到相對應的定義填入進去。其中Tumblr和Google Reader是不需要配置API Key的。

三、如何使用:

調用之後如下:

使用ShareKit一鍵分享到Facebook,Twitter等平台

因為我是隻要分享到Facebook,不要其他的,是以需要修改他裡面的源檔案。修改步驟如下:

(1)在要調用分享的button裡面調用如下方法,把要傳遞的url放入:

- (void)share:(id)sender

{

      NSURL *url = [NSURL URLWithString:@"http://getsharekit.com"];

      SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!"];

      // Get the ShareKit action sheet

      SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

    [actionSheet showFromToolbar:self.navigationController.toolbar];

}

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

+ (NSArray *)favoriteSharersForType:(SHKShareType)type

{    

      NSArray *favoriteSharers = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"%@%i", SHK_FAVS_PREFIX_KEY, type]];

      // set defaults

      if (favoriteSharers == nil)

      {

            switch (type)

            {

                  case SHKShareTypeURL:

                         favoriteSharers = [NSArray arrayWithObjects:@"SHKFacebook",nil];

                         break;

                  case SHKShareTypeImage:

                         favoriteSharers = [NSArray arrayWithObjects:@"SHKMail",@"SHKFacebook",@"SHKCopy",nil];

                  case SHKShareTypeText:

                         favoriteSharers = [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", nil];

                  case SHKShareTypeFile:

                         favoriteSharers = [NSArray arrayWithObjects:@"SHKMail", nil];

            }

            // Save defaults to prefs

            [self setFavorites:favoriteSharers forType:type];

      }

      // Make sure the favorites are not using any exclusions, remove them if they are.

      NSArray *exclusions = [[NSUserDefaults standardUserDefaults] objectForKey:@"SHKExcluded"];

      if (exclusions != nil)

            NSMutableArray *newFavs = [favoriteSharers mutableCopy];

            for(NSString *sharerId in exclusions)

                  [newFavs removeObject:sharerId];

            // Update

            favoriteSharers = [NSArray arrayWithArray:newFavs];

            [newFavs release];

      return favoriteSharers;

(3)在SHKActionSheet.m檔案中注釋掉一下語句:

// Add More button

      [as addButtonWithTitle:SHKLocalizedString(@"More...")];

// More

      else if (buttonIndex == sharers.count)

            SHKShareMenu *shareMenu = [[SHKCustomShareMenu alloc] initWithStyle:UITableViewStyleGrouped];

            shareMenu.item = item;

            [[SHK currentHelper] showViewController:shareMenu];

            [shareMenu release];

這樣運作之後就可以如上圖所示,隻分享到facebook,其他的具體都可以參照以上。

今天的第三方接口ShareKit就講解到這裡,歡迎大家支援哈。

共同的事業,共同的鬥争,可以使人們産生忍受一切的力量。 —— 奧斯特洛夫斯基

繼續閱讀