現在的年輕人幾乎都會天天上臉書,臉書已經是個非常適合社群交流的好平台!那麼我們設計APP要怎麼使用臉書分享 (Using Facebook to Share)呢?只要實際操作過一次,就知道現在實作臉書分享是多麼簡單的事,就如同使用者按幾個鍵就能分享一樣~
步驟為:增加Social Framework,匯入<Social/Social.h>即可!接下來就是撰寫程式碼,若想要成功運行,必須先在系統的設定(Settings)中登入臉書帳號,而不必下載Facebook APP。
/**
Theme: Using Facebook to Share
IDE: Xcode 5
Language: Objective C
Date: 103/05/01
Author: HappyMan
Blog: https://cg2010studio.wordpress.com/
*/
-(IBAction)facebookButtonClicked:(UIButton *)button
{
// 判斷社群網站的服務是否可用
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
// 建立對應社群網站的ComposeViewController
SLComposeViewController *mySocialComposeView = [[SLComposeViewController alloc] init];
mySocialComposeView = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
// 插入文字
[mySocialComposeView setInitialText:@"我是快樂測試人"];
// 插入網址
NSURL *myURL = [[NSURL alloc] initWithString:@"https://cg2010studio.wordpress.com/"];
[mySocialComposeView addURL: myURL];
// 插入圖片
UIImage *myImage = [UIImage imageNamed:@"yichen.jpg"];
[mySocialComposeView addImage:myImage];
// 呼叫建立的SocialComposeView
[self presentViewController:mySocialComposeView animated:YES completion:^{
NSLog(@"成功呼叫 SocialComposeView");
}];
// 訊息成功送出與否的之後處理
[mySocialComposeView setCompletionHandler:^(SLComposeViewControllerResult result){
switch (result) {
case SLComposeViewControllerResultCancelled:
NSLog(@"取消送出");
break;
case SLComposeViewControllerResultDone:
NSLog(@"完成送出");
break;
default:
NSLog(@"其他例外");
break;
}
}];
}
else {
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"提醒" message:@"請先在系統設定中登入臉書帳號。" delegate:nil cancelButtonTitle:@"好" otherButtonTitles:nil, nil];
[av show];
}
}
成功送出分享訊息後,到臉書看張貼效果:



隨意留個言吧:)~