現在開發各式APP,
通常都會加上分享的功能。
尤其是分享到Facebook與Twitter上,
到底分享怎樣的內容,
會有足夠渲染力讓社群平台上的人們願意幫APP將訊息擴散出去,
柯南認為這是一門專門的學問,
不過在此之前,
到底要怎麼在我們開發的APP加入分享的功能呢。
最直接的作法是研究各個平台開發者網站中的資訊,

例如要分享到Twitter,就可以到http://dev.twitter.com/

要分享到Facebook,就可以到http://developers.facebook.com/
當我們要分享的目的端越多,
就要實作越多的程式碼來達成我們的需求。
說老實話,
還蠻讓人討厭的。
而本文介紹的ShareKit就可以幫忙開發者省去實作各式分享功能的工夫。
ShareKit這套函式庫,
基本上只要幾個步驟就可以在我們開發的iOS APP程式上加上分享功能。
1.下載ShareKit函式庫。
2.將Sharekit中的Class加入到我們的iOS開發專案。
3.到Facebook、Twitter建立APP並將其金鑰等資訊寫到ShareKit中的SHKConfig.h。
4.在要分享的Controller頁面加入  #import
t "SHK.h"
5.接著利用類似下面的語法,讓使用者在點下按鈕時會呼叫ShareKit

- (void)myButtonHandlerAction
{
	// Create the item to share (in this example, a url)
	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];
	// Display the action sheet
	[actionSheet showFromToolbar:navigationController.toolbar];
}


由於ShareKit已經支援Facebook與Twitter分享,
所以如果我們只要在SHKConfig.h中設定好金鑰等資訊,
ShareKit就可以幫助我們一次搞定分享資訊的動作。

ShareKit在使用者點擊分享按鈕後,
會透過UIActionSheet或者popoverController的方式,
將所謂的ShareItem秀出來,
每一個ShareItem就代表一種分享方式,
例如Facebook與Twitter。
當然開發者也可以自行在ShareKit的架構下,
新增新的分享種類。

柯南實際使用,
覺得真的蠻方便與容易上手。
不過由於ShareKit目前版本是0.2.1,
所以還是會有一些Bug,
例如當螢幕轉向時,
Indicator的顯示方向不會跟著轉。
幸好只要置換以下程式碼,
也就可以解決這個問題了。

- (void)setProperRotation:(BOOL)animated
{
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    if (animated)
    {
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3];
    }
    if (orientation == UIInterfaceOrientationPortraitUpsideDown)
        self.transform = CGAffineTransformRotate(CGAffineTransformIdentity, SHKdegreesToRadians(180));
    else if (orientation == UIInterfaceOrientationLandscapeRight)
        self.transform = CGAffineTransformRotate(CGAffineTransformIdentity, SHKdegreesToRadians(90));
    else if (orientation == UIInterfaceOrientationLandscapeLeft)
        self.transform = CGAffineTransformRotate(CGAffineTransformIdentity, SHKdegreesToRadians(-90));
    if (animated)
        [UIView commitAnimations];
}


還在苦惱如何在自己開發的APP加入分享的功能嗎?
那可以來試試ShareKit

Technorati 的標籤: ,,,,

    全站熱搜

    賽拉維‧柯南 發表在 痞客邦 留言(0) 人氣()