iPhone應用開發之十二:使用ShareKit一鍵分享到Facebook,Twitter等平台

來源:互聯網
上載者:User

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檔案的配置

 

<span style="font-size:18px">    #define SHKMyAppName            @"App name"   

    #define SHKMyAppURL             @"itunes address"   

</span> 

 

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

 

1.Fackbook的配置

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

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

 

<span style="font-size:18px">    #define SHKFacebookUseSessionProxy        NO    

    #define SHKFacebookKey                    @"xxxx"   

    #define SHKFacebookSecret                 @"xxx"   

    #define SHKFacebookSessionProxyURL        @"" // left it blank here   

</span> 

 

2.Twitter的配置

(1)同Facebook一樣配置一個application,地址為:(http://dev.twitter.com/apps/new)

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

 

<span style="font-size:18px">    #define SHKTwitterConsumerKey        @"xxx"   

    #define SHKTwitterSecret             @"xxx"   

    #define SHKTwitterCallbackUrl        @"itunes address"   

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

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

</span> 

 

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

三、如何使用:

調用之後如下:

  

 

 

 

 

 

 

因為我是只要分享到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]; 

 

                         break; 

 

                         

 

                  case SHKShareTypeText: 

 

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

 

                         break; 

 

                         

 

                  case SHKShareTypeFile: 

 

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

 

                         break; 

 

            } 

 

            

 

            // 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]; 

 

            [self setFavorites:favoriteSharers forType:type]; 

 

            

 

            [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就講解到這裡,歡迎大家支援哈

 



作者 andy-清風

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.