顯示具有 social.framework 標籤的文章。 顯示所有文章
顯示具有 social.framework 標籤的文章。 顯示所有文章

2013年8月30日 星期五

在iOS6 使用facebook分享文章的功能

緣起
記得早先在寫iOS app要在上面分享個東西到facebook上面, 
除了研讀facebook的api外, code也比較複雜一點.
現在iOS6的social framework已經有支援了,不拿來用用太可惜了.
當然要客製化, 讀取朋友列表等等還是得回頭k一下facebook的官方文件啦.


需求
這次只是很簡單的想要在 "個人的動態消息" 上分享訊息
訊息包含了"文字描述", "URL link", "圖片"
分析一下發現官方提供的東西已經很夠用了.
於是讓我們來看看要怎麼實作吧~


實作
SDK最低需求:iOS6
xcode版本: 4.5或更新(筆者使用4.6.3)

1. project > targets > Build Phases 
添加Social.framework

2. 在viewController.m 底下
#import

3. 在自己建立好的button event裡面
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
       
        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
       
        [controller setInitialText:@"分享文章的內容"];
        [controller addURL:[NSURL URLWithString:@"分享文章的url link"]];
        [controller addImage:[UIImage imageNamed:@"圖片的來源"]];
       
        [self presentViewController:controller animated:YES completion:Nil];
}

其中如果使用了非同步的圖片下載, 那或許可以參考筆者的作法 (ex: SDWebImage)
UIImageView *postimg = [UIImageView new];
[postimg setImageWithURL:[NSURL URLWithString:@"url link"]
                placeholderImage:[UIImage imageNamed:@"placeholder.png"]
                       completed:^(UIImage *image, NSError *err, SDImageCacheType typ) {
                          /* 等待圖片載完後才addImage */
                           [controller addImage:postimg.image];
                       }];


這樣就完成了耶! 分享給需要的人.

下面的link還有twitter的範例, 相當清晰易懂!
參考資料:http://www.appcoda.com/ios-programming-101-integrate-twitter-and-facebook-sharing-in-ios-6/

內容回應