記得早先在寫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/