iOS學習筆記35-社交分享

1、社交分享

如今不少應用都內置「社交分享」功能,能夠將看到的新聞、博客、廣告等內容分享到微博、微信、QQ、人人網等,其實從iOS6.0開始蘋果官方就內置了Social.framework專門來實現社交分享功能,利用這個框架開發者只須要幾句代碼就能夠實現內容分享。ios

Social框架使用步驟:
  1. 導入Social.framework框架,添加頭文件
#import <Social/Social.h>
  1. 建立分享內容編輯控制器SLComposeViewController
  2. 設置分享內容、圖片、超連接等
  3. 設置發送後的回調
  4. 彈出控制器,進行顯示
Social框架支持的分享:
NSString *const SLServiceTypeTwitter;//Twitter分享,iOS6以上支持
NSString *const SLServiceTypeFacebook;//Facebook分享,iOS6以上支持
NSString *const SLServiceTypeSinaWeibo;//新浪微博分享,iOS6以上支持
NSString *const SLServiceTypeTencentWeibo;//QQ分享,iOS7以上支持
必須先在設置中設置分享帳號,Social才知道是哪一個帳號進行發送的:

如下是新浪微博分享的簡單示例:
#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

2、第三方框架

從上面能夠看出,蘋果官方默認支持的分享並不太多,特別是對於國內的應用只支持新浪微博和騰訊微博,那麼若是要分享到微信、人人、開心等等國內較爲知名的社交網絡怎麼辦呢?
目前最好的選擇就是使用第三方框架,由於若是要本身實現各個應用的接口仍是比較複雜的。微信

如下是使用得比較多的第三方分享框架:
  1. 友盟社會化組件
  2. ShareSDK

具體使用參考對應的SDK文檔,這裏就不講了。網絡

有什麼問題在下方評論區中提出!O(∩_∩)O哈!
相關文章
相關標籤/搜索