如今不少應用都內置「社交分享」功能,能夠將看到的新聞、博客、廣告等內容分享到微博、微信、QQ、人人網等,其實從iOS6.0開始蘋果官方就內置了Social.framework
專門來實現社交分享功能,利用這個框架開發者只須要幾句代碼就能夠實現內容分享。ios
Social.framework
框架,添加頭文件#import <Social/Social.h>
SLComposeViewController
NSString *const SLServiceTypeTwitter;//Twitter分享,iOS6以上支持 NSString *const SLServiceTypeFacebook;//Facebook分享,iOS6以上支持 NSString *const SLServiceTypeSinaWeibo;//新浪微博分享,iOS6以上支持 NSString *const SLServiceTypeTencentWeibo;//QQ分享,iOS7以上支持
#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; } //建立分享內容編輯控制器,指定類型爲新浪微博 SLComposeViewController *compose = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo]; //設置分享內容 [compose setInitialText:@"執着-執念的簡書博客"]; //設置分享圖片 [compose addImage:[UIImage imageNamed:@"image.jpg"]]; //設置超連接 [compose addURL:[NSURL URLWithString:@"http://www.jianshu.com/users/1e5629b22b63/latest_articles"]]; //設置回調 __block SLComposeViewController *blockController = compose; compose.completionHandler = ^(SLComposeViewControllerResult result){ if (result == SLComposeViewControllerResultDone) { NSLog(@"發送完成"); } //彈回 [blockController dismissViewControllerAnimated:YES completion:nil]; }; //彈出控制器 [self presentViewController:compose animated:YES completion:nil]; } @end
從上面能夠看出,蘋果官方默認支持的分享並不太多,特別是對於國內的應用只支持新浪微博和騰訊微博,那麼若是要分享到微信、人人、開心等等國內較爲知名的社交網絡怎麼辦呢?
目前最好的選擇就是使用第三方框架,由於若是要本身實現各個應用的接口仍是比較複雜的。微信
具體使用參考對應的SDK文檔,這裏就不講了。網絡