iOS社交分享(自帶分享)

社交分享
蘋果系統(tǒng)自帶分享
第三方分享

了解
比較火的分享平臺(tái)微信 - 是國(guó)內(nèi)唯一一款沒有PC原型的軟件
新浪微博 - 蘋果在iOS 6集成了
騰訊微博 - 在iOS 7集成的

如何實(shí)現(xiàn)社交分享
自己編寫各個(gè)平臺(tái)的分享代碼(代碼量較多)

利用iOS自帶的Social.framework

利用第三方的分享框架
友盟分享:
http://dev.umeng.com/social/ios/share/quick-integration

ShareSDK:
http://wiki.mob.com/iOS快速集成指南
使用Social.framework之前得在“設(shè)置”中添加相應(yīng)分享平臺(tái)的帳號(hào)
Social.framework支持的分享平臺(tái)(打開手機(jī)上的“設(shè)置”即可看到)

百度社會(huì)化分享組件:http://developer.baidu.com/soc/share+(百度還有個(gè)“社會(huì)化登錄組件”:http://developer.baidu.com/soc/login)

分享實(shí)現(xiàn)
蘋果系統(tǒng)自帶分享實(shí)現(xiàn)
分享界面彈出效果
分享界面彈出效果


蘋果自帶分享效果.png
Social.framework使用步驟

導(dǎo)入#import <Social/Social.h>頭文件判斷服務(wù)是否可用
[SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]彈出分享內(nèi)容輸入界面
LComposeViewController *cc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
[self presentViewController:cc animated:YES completion:nil];額外設(shè)置[cc setInitialText:@"測(cè)試文字"]; 
// 初始化文字[cc addImage:[UIImage imageNamed:@"lufy"]]; 
// 配圖

實(shí)現(xiàn)代碼:(點(diǎn)擊控制器的view彈出分享界面)

#import "ViewController.h"
#import <Social/Social.h> // 導(dǎo)入蘋果自帶分享的頭文件

@implementation ViewController
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
// 1.判斷平臺(tái)是否可用(系統(tǒng)沒有集成,用戶設(shè)置賬號(hào)) 
     if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) 
{
       NSLog(@"設(shè)置界面設(shè)置自己的賬號(hào)"); 
       return; 
} 
// 2.創(chuàng)建分享控制器 
SLComposeViewController *composeVc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo]; 
// 2.1.添加分享的文字
 [composeVc setInitialText:@"夢(mèng)想還是要有的,萬一實(shí)現(xiàn)了呢"]; 
// 2.2.添加分享的圖片
 [composeVc addImage:[UIImage imageNamed:@"xingxing"]]; 
// 3.彈出控制器進(jìn)行分享
 [self presentViewController:composeVc animated:YES completion:nil]; 
// 4.設(shè)置監(jiān)聽發(fā)送結(jié)果
 composeVc.completionHandler = ^(SLComposeViewControllerResult reulst) { 
 if (reulst == SLComposeViewControllerResultDone) { 
       NSLog(@"用戶發(fā)送成功"); 
} else { 
       NSLog(@"用戶發(fā)送失敗");
 } };
}@end

友盟框架類UMSocialSnsService 實(shí)現(xiàn)快速分享
1.作用:實(shí)現(xiàn)快速分享酪我,類方法傳入相應(yīng)的參數(shù)犯眠,既可以彈出分享列表。現(xiàn)在提供兩種列表樣式。

/* 實(shí)現(xiàn)快速分享,類方法傳入相應(yīng)的參數(shù)诡延,既可以彈出分享列表〗叨郏現(xiàn)在提供兩種列表樣式。 */@interface UMSocialSnsService : NSObject

2.彈出一個(gè)分享列表的UITableViewController

/** 彈出一個(gè)分享列表的UITableViewController @param controller 在該controller彈出分享列表的UIActionSheet @param appKey 友盟appKey @param shareText 分享編輯頁(yè)面的內(nèi)嵌文字 @param shareImage 可以傳入UIImage燥滑,或者NSData類型渐北,分享內(nèi)嵌圖片,用戶可以在編輯頁(yè)面刪除 @param snsNames 你要分享到的sns平臺(tái)類型,該NSArray值是UMSocialSnsPlatformManager.h定義的平臺(tái)名的字符串常量铭拧,有UMShareToSina赃蛛,UMShareToTencent,UMShareToRenren搀菩,UMShareToDouban呕臂,UMShareToQzone,UMShareToEmail肪跋,UMShareToSms等 @param delegate 實(shí)現(xiàn)分享完成后的回調(diào)對(duì)象歧蒋,如果不關(guān)注分享完成的狀態(tài),可以設(shè)為nil */+(void)presentSnsController:(UIViewController *)controller appKey:(NSString *)appKey shareText:(NSString *)shareText shareImage:(id)shareImage shareToSnsNames:(NSArray *)snsNames delegate:(id <UMSocialUIDelegate>)delegate;

3.彈出一個(gè)分享列表的類似iOS6的UIActivityViewController控件

/** 彈出一個(gè)分享列表的類似iOS6的UIActivityViewController控件 @param controller 在該controller彈出分享列表的UIActionSheet @param appKey 友盟appKey @param shareText 分享編輯頁(yè)面的內(nèi)嵌文字 @param shareImage 分享內(nèi)嵌圖片,用戶可以在編輯頁(yè)面刪除 @param snsNames 你要分享到的sns平臺(tái)類型州既,該NSArray值是UMSocialSnsPlatformManager.h定義的平臺(tái)名的字符串常量疏尿,有UMShareToSina,UMShareToTencent易桃,UMShareToRenren褥琐,UMShareToDouban,UMShareToQzone晤郑,UMShareToEmail敌呈,UMShareToSms等 @param delegate 實(shí)現(xiàn)分享完成后的回調(diào)對(duì)象,如果不關(guān)注分享完成的狀態(tài)造寝,可以設(shè)為nil */+(void)presentSnsIconSheetView:(UIViewController *)controller appKey:(NSString *)appKey shareText:(NSString *)shareText shareImage:(id)shareImage shareToSnsNames:(NSArray *)snsNames delegate:(id <UMSocialUIDelegate>)delegate;

4.單例

/** 得到單例對(duì)象的類方法 @return UMSocialSnsService的單例對(duì)象 */+ (UMSocialSnsService *)sharedInstance;

三方友盟分享實(shí)現(xiàn)

效果圖
友盟分享.png

步驟
1.導(dǎo)入框架UMSocial_Sdk_4.2.1

2.導(dǎo)入頭文件

import "UMSocial.h"

3.讓控制器遵守協(xié)議UMSocialUIDelegate磕洪,來監(jiān)聽分享后的響應(yīng)@interface ViewController ()<UMSocialUIDelegate>

4.利用UMSocialSnsService類,類方presentSnsController:或者presentSnsIconSheetView:彈出一個(gè)分享列表控制器(兩種類型)诫龙,并讓控制器成為代理

// shareToSnsNames 分享到的sns平臺(tái)類型 // appKey 友盟appKey析显, // delegate:實(shí)現(xiàn)分享完成后的回調(diào)對(duì)象,如果不關(guān)注分享完成的狀態(tài)签赃,可以設(shè)為nil // presentSnsIconSheetView: 彈出一個(gè)分享列表的類似iOS6的UIActivityViewController控件 [UMSocialSnsService presentSnsIconSheetView:self appKey:@"5492dcf9fd98c5e7f8001834" shareText:text shareImage:image shareToSnsNames:names delegate:self];

5.實(shí)現(xiàn)代理方法谷异,監(jiān)聽分享結(jié)果

-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response{ NSLog(@"%d", response.responseCode);}

具體實(shí)現(xiàn)代碼

import "ViewController.h"

import "UMSocial.h" // 導(dǎo)入頭文件

@interface ViewController ()<UMSocialUIDelegate> // 遵守協(xié)議
@end@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    }
  • (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSString *text = @"111";
    UIImage *image = [UIImage imageNamed:@"xingxing"];
    // 設(shè)置分享到的sns平臺(tái)類型,
    // NSArray:UMSocialSnsPlatformManager.h定義的平臺(tái)名的字符串常量锦聊,有UMShareToSina歹嘹,UMShareToTencent,UMShareToRenren孔庭,UMShareToDouban尺上,UMShareToQzone材蛛,UMShareToEmail,UMShareToSms等 NSArray *names = @[UMShareToDouban, UMShareToEmail, UMShareToFacebook, UMShareToRenren, UMShareToSina, UMShareToTencent];
    // shareToSnsNames 分享到的sns平臺(tái)類型
    // appKey 友盟appKey怎抛,
    // delegate:實(shí)現(xiàn)分享完成后的回調(diào)對(duì)象卑吭,如果不關(guān)注分享完成的狀態(tài),可以設(shè)為nil
    // presentSnsIconSheetView: 彈出一個(gè)分享列表的類似iOS6的UIActivityViewController控件
    [UMSocialSnsService presentSnsIconSheetView:self appKey:@"5492dcf9fd98c5e7f8001834" shareText:text shareImage:image shareToSnsNames:names delegate:self];
    }
    -(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response{ NSLog(@"%d", response.responseCode);
    }
    @end

轉(zhuǎn)載地址 http://www.reibang.com/p/4adf1037e572

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末马绝,一起剝皮案震驚了整個(gè)濱河市豆赏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迹淌,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件己单,死亡現(xiàn)場(chǎng)離奇詭異唉窃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纹笼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門纹份,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人廷痘,你說我怎么就攤上這事蔓涧。” “怎么了笋额?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵元暴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我兄猩,道長(zhǎng)茉盏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任枢冤,我火速辦了婚禮鸠姨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘淹真。我一直安慰自己讶迁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布核蘸。 她就那樣靜靜地躺著巍糯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪客扎。 梳的紋絲不亂的頭發(fā)上鳞贷,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音虐唠,去河邊找鬼搀愧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的咱筛。 我是一名探鬼主播搓幌,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼迅箩!你這毒婦竟也來了溉愁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤饲趋,失蹤者是張志新(化名)和其女友劉穎拐揭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕塑,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堂污,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了龄砰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盟猖。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖换棚,靈堂內(nèi)的尸體忽然破棺而出式镐,到底是詐尸還是另有隱情,我是刑警寧澤固蚤,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布娘汞,位于F島的核電站,受9級(jí)特大地震影響夕玩,放射性物質(zhì)發(fā)生泄漏价说。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一风秤、第九天 我趴在偏房一處隱蔽的房頂上張望鳖目。 院中可真熱鬧,春花似錦缤弦、人聲如沸领迈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)狸捅。三九已至,卻和暖如春累提,著一層夾襖步出監(jiān)牢的瞬間尘喝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工斋陪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朽褪,地道東北人置吓。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像缔赠,于是被迫代替她去往敵國(guó)和親衍锚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 上次我寫了一篇《基于UMeng第三方登陸(新浪)測(cè)試-demo教程》文章嗤堰,這次著手于【基于UMeng第三方分享(新...
    ttdiOS閱讀 1,109評(píng)論 0 7
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)戴质、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,126評(píng)論 4 61
  • 不知道你現(xiàn)在的消息踢匣,不知道是怎樣的心情告匠。那些曾經(jīng)只給我依靠的肩膀如今給了誰(shuí)。不了了之的愛情离唬,不了了之的回憶后专,到底是...
    鳶裊阿蘭若閱讀 631評(píng)論 0 0
  • 旅夢(mèng)千迭跨馬,青絲一挽成鞭男娄。 殘柳牧云征漠野行贪,邊草知春過塞關(guān)漾稀。 揚(yáng)塵不解鞍模闲。 朝踏山河致遠(yuǎn),暮揮紙筆非凡崭捍。 日月雪...
    墨言之閱讀 839評(píng)論 14 33
  • 身邊的朋友每次都指點(diǎn)我的生活有什么問題殷蛇,我都不說話实夹,畢竟別人的生活你又沒有參與,哪知道別人這一路遇到了什么粒梦,都是站...
    晴天醬閱讀 130評(píng)論 0 0