ShareSDK分享模塊 快速集成

Mob-分享模塊-快速集成文檔描述網(wǎng)址, 非常齊全, 推薦參考
http://wiki.mob.com/ios%E7%AE%80%E6%B4%81%E7%89%88%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90/

自我整理:

第一步: 下載SDK

下載SDK.png

目標(biāo)下載.png
完成上面的步驟, 在彈出的頁(yè)面中:
  1. 選擇支持分享的平臺(tái)
  2. 設(shè)置分享視圖, 評(píng)論和贊
  3. 包括版本的兼容設(shè)置

第二步:

將下載的"ShareSDK"拖到工程中, 標(biāo)記(此時(shí)的第三方文件包含兩個(gè)文件夾)

工程結(jié)構(gòu):

工程結(jié)構(gòu).png

第三步: 添加依賴庫(kù)

1.必須添加的依賴庫(kù)如下(Xcode 7 下 .dylib庫(kù)后綴名更改為.tbd):

libicucore.dylib
libz.dylib
libstdc++.dylib
JavaScriptCore.framework

2.以下依賴庫(kù)根據(jù)社交平臺(tái)添加:(一下依賴庫(kù), 相同時(shí)只需要導(dǎo)入一次)

新浪微博SDK依賴庫(kù)
ImageIO.framework
libsqlite3.dylib

QQ好友和QQ空間SDK依賴庫(kù)
libsqlite3.dylib

微信SDK依賴庫(kù)
libsqlite3.dylib

短信和郵件需要依賴庫(kù)
MessageUI.framework

第四步: 如果上面添加了新浪微博的SDK需要配置一下:

新浪微博SDK需要在項(xiàng)目Build Settings中的Other Linker Flags添加-ObjC

85629EB0-4866-4491-85C3-FAA20AA45BCF.png

第五步: 在APPDelegate.m文件中導(dǎo)入頭文件

#import <ShareSDK/ShareSDK.h>
#import <ShareSDKConnector/ShareSDKConnector.h>
 
//騰訊開放平臺(tái)(對(duì)應(yīng)QQ和QQ空間)SDK頭文件
#import <TencentOpenAPI/TencentOAuth.h>
#import <TencentOpenAPI/QQApiInterface.h>
 
//微信SDK頭文件
#import "WXApi.h"
 
//新浪微博SDK頭文件
#import "WeiboSDK.h"
//新浪微博SDK需要在項(xiàng)目Build Settings中的Other Linker Flags添加"-ObjC"
 
//人人SDK頭文件
#import <RennSDK/RennSDK.h>```

###第六步: APPDelegate.m文件
在- (BOOL)application: didFinishLaunchingWithOptions:方法中調(diào)用registerApp方法來(lái)初始化SDK并且初始化第三方平臺(tái)
  • (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
    {
    /
    • 設(shè)置ShareSDK的appKey亩进,如果尚未在ShareSDK官網(wǎng)注冊(cè)過App涂佃,請(qǐng)移步到http://mob.com/login 登錄后臺(tái)進(jìn)行應(yīng)用注冊(cè)

    • 在將生成的AppKey傳入到此方法中堂湖。

    • 方法中的第二個(gè)第三個(gè)參數(shù)為需要連接社交平臺(tái)SDK時(shí)觸發(fā),

    • 在此事件中寫入連接代碼撕氧。第四個(gè)參數(shù)則為配置本地社交平臺(tái)時(shí)觸發(fā),根據(jù)返回的平臺(tái)類型來(lái)配置平臺(tái)信息喇完。

    • 如果您使用的時(shí)服務(wù)端托管平臺(tái)信息時(shí)伦泥,第二、四項(xiàng)參數(shù)可以傳入nil,第三項(xiàng)參數(shù)則根據(jù)服務(wù)端托管平臺(tái)來(lái)決定要連接的社交SDK不脯。
      */
      [ShareSDK registerApp:@"iosv1101"

      activePlatforms:@[
      @(SSDKPlatformTypeSinaWeibo),
      @(SSDKPlatformTypeMail),
      @(SSDKPlatformTypeSMS),
      @(SSDKPlatformTypeCopy),
      @(SSDKPlatformTypeWechat),
      @(SSDKPlatformTypeQQ),
      @(SSDKPlatformTypeRenren),
      @(SSDKPlatformTypeGooglePlus)]
      onImport:^(SSDKPlatformType platformType)
      {
      switch (platformType)
      {
      case SSDKPlatformTypeWechat:
      [ShareSDKConnector connectWeChat:[WXApi class]];
      break;
      case SSDKPlatformTypeQQ:
      [ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
      break;
      case SSDKPlatformTypeSinaWeibo:
      [ShareSDKConnector connectWeibo:[WeiboSDK class]];
      break;
      case SSDKPlatformTypeRenren:
      [ShareSDKConnector connectRenren:[RennClient class]];
      break;
      default:
      break;
      }
      }
      onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)
      {

        switch (platformType)
        {
            case SSDKPlatformTypeSinaWeibo:
                //設(shè)置新浪微博應(yīng)用信息,其中authType設(shè)置為使用SSO+Web形式授權(quán)
                [appInfo SSDKSetupSinaWeiboByAppKey:@"568898243"
                                          appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3"
                                        redirectUri:@"http://www.sharesdk.cn"
                                           authType:SSDKAuthTypeBoth];
             break;
            case SSDKPlatformTypeWechat:
                [appInfo SSDKSetupWeChatByAppId:@"wx4868b35061f87885"
                                      appSecret:@"64020361b8ec4c99936c0e3999a9f249"];
             break;
            case SSDKPlatformTypeQQ:
                [appInfo SSDKSetupQQByAppId:@"100371282"
                                     appKey:@"aed9b0303e3ed1e27bae87c33761161d"
                                   authType:SSDKAuthTypeBoth];
             break;
            case SSDKPlatformTypeRenren:
                [appInfo        SSDKSetupRenRenByAppId:@"226427"
                                         appKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
                                      secretKey:@"f29df781abdd4f49beca5a2194676ca4"
                                       authType:SSDKAuthTypeBoth];
              break;
             case SSDKPlatformTypeGooglePlus:
               [appInfo SSDKSetupGooglePlusByClientID:@"232554794995.apps.googleusercontent.com"
                                          clientSecret:@"PEdFgtrMw97aCvf0joQj7EMk"
                                           redirectUri:@"http://localhost"];
              break;
             default:
              break;
        }
      

      }];
      return YES;
      }
      (注意:每一個(gè)case對(duì)應(yīng)一個(gè)break不要忘記填寫府怯,不然很可能有不必要的錯(cuò)誤,新浪微博的外部庫(kù)如果不要客戶端分享或者不需要加關(guān)注微博的功能可以不添加防楷,否則要添加牺丙,QQ,微信复局,google+這些外部庫(kù)文件必須要加)```

第七步: 在需要分析的頁(yè)面導(dǎo)入頭文件

#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/ShareSDK+SSUI.h>```

###第八步: 在觸發(fā)分析事件的方法中實(shí)現(xiàn)

//1冲簿、創(chuàng)建分享參數(shù)
NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
(注意:圖片必須要在Xcode左邊目錄里面,名稱必須要傳正確肖揣,如果要分享網(wǎng)絡(luò)圖片民假,可以這樣傳iamge參數(shù) images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
if (imageArray) {

    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    [shareParams SSDKSetupShareParamsByText:@"分享內(nèi)容"
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://mob.com"]
                                      title:@"分享標(biāo)題"
                                       type:SSDKContentTypeAuto];

//2、分享(可以彈出我們的分享菜單和編輯界面)
[ShareSDK showShareActionSheet:nil //要顯示菜單的視圖, iPad版中此參數(shù)作為彈出菜單的參照視圖龙优,只有傳這個(gè)才可以彈出我們的分享菜單羊异,可以傳分享的按鈕對(duì)象或者自己創(chuàng)建小的view 對(duì)象,iPhone可以傳nil不會(huì)影響
items:nil
shareParams:shareParams
onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {

                   switch (state) {
                       case SSDKResponseStateSuccess:
                       {
                           UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                               message:nil
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"確定"
                                                                     otherButtonTitles:nil];
                           [alertView show];
                           break;
                       }
                       case SSDKResponseStateFail:
                       {
                           UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失敗"
                                                                               message:[NSString stringWithFormat:@"%@",error]
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"OK"
                                                                     otherButtonTitles:nil, nil];
                            [alert show];
                            break;
                        }
                        default:
                           break;
                        }
                }  
    ];}```

上面實(shí)現(xiàn)分享的步驟實(shí)現(xiàn)完成, 但是在分享過程中會(huì)發(fā)現(xiàn), 他會(huì)提示登錄響應(yīng)的應(yīng)用, 用戶體驗(yàn)不好, Mob上建議我們參考SSO(免登陸)和更多社交平臺(tái)的設(shè)置

1.可選:支持微信所需的相關(guān)配置及代碼 在微信開放平臺(tái)(http://open.weixin.qq.com/ )注冊(cè)應(yīng)用并取得應(yīng)用的AppID彤断,然后打開下圖位置野舶,在URL Types中添加微信AppID

微信.png

打開AppDelegate.m(代表你的工程名字)文件,導(dǎo)入微信SDK的頭文件并增加微信的外部庫(kù)接口

#import <ShareSDKConnector/ShareSDKConnector.h>
//微信SDK頭文件
#import "WXApi.h"
//初始化的import參數(shù)注意要鏈接原生微信SDK宰衙。
case SSDKPlatformTypeWechat:
     [ShareSDKConnector connectWeChat:[WXApi class]];
break;```

其他平臺(tái)請(qǐng)參考Mob網(wǎng)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末平道,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子供炼,更是在濱河造成了極大的恐慌一屋,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袋哼,死亡現(xiàn)場(chǎng)離奇詭異冀墨,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涛贯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門诽嘉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人弟翘,你說我怎么就攤上這事虫腋。” “怎么了稀余?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵悦冀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我滚躯,道長(zhǎng)雏门,這世上最難降的妖魔是什么嘿歌? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮茁影,結(jié)果婚禮上宙帝,老公的妹妹穿的比我還像新娘。我一直安慰自己募闲,他們只是感情好步脓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著浩螺,像睡著了一般靴患。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上要出,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天鸳君,我揣著相機(jī)與錄音,去河邊找鬼患蹂。 笑死或颊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的传于。 我是一名探鬼主播囱挑,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼沼溜!你這毒婦竟也來(lái)了平挑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤系草,失蹤者是張志新(化名)和其女友劉穎通熄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體找都,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棠隐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了檐嚣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啰扛,死狀恐怖嚎京,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隐解,我是刑警寧澤鞍帝,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站煞茫,受9級(jí)特大地震影響帕涌,放射性物質(zhì)發(fā)生泄漏摄凡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一蚓曼、第九天 我趴在偏房一處隱蔽的房頂上張望亲澡。 院中可真熱鬧,春花似錦纫版、人聲如沸床绪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)癞己。三九已至,卻和暖如春梭伐,著一層夾襖步出監(jiān)牢的瞬間痹雅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工糊识, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绩社,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓技掏,卻偏偏與公主長(zhǎng)得像铃将,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哑梳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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