一、社交分享
現(xiàn)在很多應用都內(nèi)置“社交分享”功能,可以將看到的新聞、博客、廣告等內(nèi)容分享到微博、微信、QQ、人人網(wǎng)等,其實從iOS6.0開始蘋果官方就內(nèi)置了Social.framework專門來實現(xiàn)社交分享功能,利用這個框架開發(fā)者只需要幾句代碼就可以實現(xiàn)內(nèi)容分享。
Social框架使用步驟:
- 導入
Social.framework框架,添加頭文件
#import <Social/Social.h>
- 創(chuàng)建分享內(nèi)容編輯控制器
SLComposeViewController - 設置分享內(nèi)容、圖片、超鏈接等
- 設置發(fā)送后的回調(diào)
- 彈出控制器,進行顯示
Social框架支持的分享:
NSString *const SLServiceTypeTwitter;//Twitter分享,iOS6以上支持
NSString *const SLServiceTypeFacebook;//Facebook分享,iOS6以上支持
NSString *const SLServiceTypeSinaWeibo;//新浪微博分享,iOS6以上支持
NSString *const SLServiceTypeTencentWeibo;//QQ分享,iOS7以上支持
必須先在設置中設置分享賬號,Social才知道是哪個賬號進行發(fā)送的:

以下是新浪微博分享的簡單示例:
#import "ViewController.h"
#import <Social/Social.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//分享到新浪微博
[self shareToSinaWeibo];
}
/* 分享到新浪微博 */
- (void)shareToSinaWeibo{
//檢測新浪微博服務是否可用
if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {
NSLog(@"新浪微博服務不可用");
return;
}
//創(chuàng)建分享內(nèi)容編輯控制器,指定類型為新浪微博
SLComposeViewController *compose =
[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
//設置分享內(nèi)容
[compose setInitialText:@"執(zhí)著-執(zhí)念的簡書博客"];
//設置分享圖片
[compose addImage:[UIImage imageNamed:@"image.jpg"]];
//設置超鏈接
[compose addURL:[NSURL URLWithString:@"http://www.itdecent.cn/users/1e5629b22b63/latest_articles"]];
//設置回調(diào)
__block SLComposeViewController *blockController = compose;
compose.completionHandler = ^(SLComposeViewControllerResult result){
if (result == SLComposeViewControllerResultDone) {
NSLog(@"發(fā)送完成");
}
//彈回
[blockController dismissViewControllerAnimated:YES completion:nil];
};
//彈出控制器
[self presentViewController:compose animated:YES completion:nil];
}
@end

二、第三方框架
從上面可以看出,蘋果官方默認支持的分享并不太多,特別是對于國內(nèi)的應用只支持新浪微博和騰訊微博,那么如果要分享到微信、人人、開心等等國內(nèi)較為知名的社交網(wǎng)絡怎么辦呢?
目前最好的選擇就是使用第三方框架,因為如果要自己實現(xiàn)各個應用的接口還是比較復雜的。
以下是使用得比較多的第三方分享框架:
具體使用參考對應的SDK文檔,這里就不講了。