ShareSDK分享步驟

由于分享的定制三痰,大部分需要我們自定義界面吧寺,只要調(diào)用對應(yīng)的接口就可,但是找了很多散劫,終于找到加上自己總結(jié)總結(jié)出以自定義分享為例稚机,來說下ShareSDK的分享步驟,以供參考获搏,讓大家少走一些彎路赖条。

1.導(dǎo)入SDK,導(dǎo)入對應(yīng)的庫(沒有Appkey,創(chuàng)建應(yīng)用申請AppKey)

SDK介紹和添加的依賴庫導(dǎo)入

shareSDK的SDK和Demo下載

2.AppDelegate中處理

首先纬乍,導(dǎo)入以下頭文件

#import#import//騰訊開放平臺(對應(yīng)QQ和QQ空間)SDK頭文件#import#import//微信SDK頭文件

#import "WXApi.h"

//新浪微博SDK頭文件

#import "WeiboSDK.h"

//新浪微博SDK需要在項目Build Settings中的Other Linker Flags添加"-ObjC"

其次碱茁,在AppDelegate中的didFinishLaunchingWithOptions:方法中寫入下面的代碼,替換對應(yīng)的參數(shù)(加粗字體表示的替換):如:以只有QQ仿贬,微信纽竣,新浪微博分享的為例

```

[ShareSDK registerApp:@"您在ShareSDK平臺注冊時的AppKey"

activePlatforms:@[

@(SSDKPlatformTypeWechat),

@(SSDKPlatformTypeQQ),

@(SSDKPlatformTypeSinaWeibo)]

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;

default:

break;

}

}

onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)

{

switch (platformType)

{

case SSDKPlatformTypeSinaWeibo:

//設(shè)置新浪微博應(yīng)用信息,其中authType設(shè)置為使用SSO+Web形式授權(quán)

[appInfo SSDKSetupSinaWeiboByAppKey:@"您在新浪平臺注冊對應(yīng)應(yīng)用的AppKey"

appSecret:@"您在新浪平臺注冊對應(yīng)應(yīng)用的appSecret"

redirectUri:@"您的應(yīng)用分享后跳轉(zhuǎn)的地址"

authType:SSDKAuthTypeBoth];

break;

case SSDKPlatformTypeWechat:

[appInfo SSDKSetupWeChatByAppId:@"您在微信平臺注冊對應(yīng)應(yīng)用的AppId"

appSecret:@"您在微信平臺注冊對應(yīng)應(yīng)用的appSecret"];

break;

case SSDKPlatformTypeQQ:

[appInfo SSDKSetupQQByAppId:@"您在QQ平臺注冊對應(yīng)應(yīng)用的AppId"

appKey:@"您在QQ平臺注冊對應(yīng)應(yīng)用的appKey"

authType:SSDKAuthTypeBoth];

break;

default:

break;

}

}];

```

最后微信平臺分享成功后要回到微信應(yīng)用,粘貼下面的代碼

注意:看文檔的時候會發(fā)現(xiàn)茧泪,微信和QQ等平臺都要加入以下代碼蜓氨,但是只要有任一平臺加入以下代碼就可以了。并不沖突队伟。语盈。。

- (BOOL)application:(UIApplication *)application

handleOpenURL:(NSURL *)url

{

return [WXApi handleOpenURL:url delegate:self];

}

-(BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(nonnull id)annotation {

return [WXApi handleOpenURL:url delegate:self];

}

3.各平臺UrlShcemes設(shè)置(QQ缰泡,微信刀荒,新浪微博)


按照順序進入到以下的界面:

分別在項目中添加對應(yīng)的UrlShcemes設(shè)置:

微信的UrlShcemes直接為微信的AppId

QQ的UrlShcemes為QQ+AppId的16進制

微博的UrlShcemes為 wb +AppId

4.適配iOS9之后的白名單設(shè)置

在info.plist 中右鍵Open As------->Source Code ,然后在對應(yīng)的位置復(fù)制以下代碼,粘貼上去:

LSApplicationQueriesSchemesweixinmqqmqqapimqqOpensdkSSoLoginmqqconnectmqqopensdkdatalinemqqopensdkgrouptribesharemqqopensdkfriendmqqopensdkapimqqopensdkapiV2mqqopensdkapiV3mqzoneopensdkwtloginmqqwtloginmqq2mqqwpamqzonemqzonev2mqzonesharewtloginqzonemqzonewxmqzoneopensdkapiV2mqzoneopensdkapi19mqzoneopensdkapimqqbrowsermttbrowser

簡書有問題棘钞,格式不對缠借,網(wǎng)上搜"iOS9分享白名單",加進去就OK了

6.在工程分享界面集成我們對應(yīng)的代碼

// 分享的參數(shù)設(shè)置

SSDKImage* urlImage = (SSDKImage *)[UIImage imageNamed:@"icon_banner"];

if (urlImage ==nil) {

return;

}

NSArray* imgArr = @[urlImage];

int shareType=0;

NSString *title ;

// 客戶端是否存在

BOOL isExists =NO;

// 自定義分享出處理

switch (button.tag) {

case 0:

{

shareType = SSDKPlatformSubTypeWechatSession;

title =@"微信好友";

([WXApi isWXAppInstalled] ==YES)? (isExists =YES) :(isExists =NO);

}

break;

case 1:

{

shareType = SSDKPlatformSubTypeWechatTimeline;

title =@"朋友圈";

([WXApi isWXAppInstalled] ==YES)? (isExists =YES) :(isExists =NO);

}

break;

case 2:

{

shareType = SSDKPlatformSubTypeQZone;

title =@"QQ空間";

([QQApiInterface isQQInstalled] ==YES)?(isExists =YES):(isExists=NO);

}

break;

case 3:

{

shareType = SSDKPlatformTypeSinaWeibo;

title =@"新浪微博";

}

break;

default:

break;

}

NSMutableDictionary* shareParams = [NSMutableDictionary dictionary];

[shareParams SSDKSetupShareParamsByText:@"分享給朋友應(yīng)用鏈接宜猜。泼返。。"

images:imgArr

url:[NSURL URLWithString:@"http://www.xxxx.com"]

title:title

type:SSDKContentTypeAuto];

WS(ws);

if (button.tag !=3) {

if (isExists) {

[shareParams SSDKEnableUseClientShare];

}else {

UIAlertController *alertVC =[UIAlertController alertControllerWithTitle:@"提示" message:@"該客戶端暫不存在" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *actionCancle =[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

[self dismissViewControllerAnimated:YES completion:nil];

}];

UIAlertAction *actionDownLoad =[UIAlertAction actionWithTitle:@"現(xiàn)在去下載" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"跳轉(zhuǎn)到對應(yīng)的App中");

if (button.tag ==0 || button.tag ==1) {

[ws loadAnyUrl:kLoadWechatUrl];

}else? if(button.tag ==2){

[ws loadAnyUrl:kLoadQQAppUrl];

}

}];

[alertVC addAction:actionCancle];

[alertVC addAction:actionDownLoad];

[self presentViewController:alertVC animated:YES completion:nil];

}

}

/*

調(diào)用shareSDK的無UI分享類型姨拥,

*/

[ShareSDK share:shareType parameters:shareParams onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {

switch (state) {

case SSDKResponseStateSuccess:

{

NSLog(@"分享成功绅喉!");

break;

}

case SSDKResponseStateFail:

{

NSLog(@"分享失敗叫乌!");

break;

}

default:

break;

}

}];

修改為我們對應(yīng)的參數(shù)柴罐,大功告成!

注意:分享的如果是鏈接憨奸,且含有圖片的時候革屠,如果鏈接不合法如以下2種情況:

1.鏈接直接為:空或者abc等字眼,也就是說不是http或者https打頭的鏈接排宰,默認(rèn)分享出來的效果只有一張對應(yīng)的圖片似芝,沒有鏈接

2.鏈接若為http或者https打頭的鏈接,但是實際不存在板甘,則顯示的為正常分享的鏈接党瓮,但是點開鏈接為請求網(wǎng)址不存在,注意盐类!

以上分享是以ShareSDK的3.5.0為例進行分享的寞奸,后續(xù)版本的設(shè)計可能會有出入:貼上對應(yīng)的網(wǎng)址:shareSDK官方分享文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痕寓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蝇闭,更是在濱河造成了極大的恐慌呻率,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻引,死亡現(xiàn)場離奇詭異礼仗,居然都是意外死亡,警方通過查閱死者的電腦和手機逻悠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門元践,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人童谒,你說我怎么就攤上這事单旁。” “怎么了饥伊?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵象浑,是天一觀的道長。 經(jīng)常有香客問我琅豆,道長愉豺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任茫因,我火速辦了婚禮蚪拦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冻押。我一直安慰自己驰贷,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布洛巢。 她就那樣靜靜地躺著括袒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狼渊。 梳的紋絲不亂的頭發(fā)上箱熬,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天类垦,我揣著相機與錄音狈邑,去河邊找鬼。 笑死蚤认,一個胖子當(dāng)著我的面吹牛米苹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播砰琢,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蘸嘶,長吁一口氣:“原來是場噩夢啊……” “哼良瞧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起训唱,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤褥蚯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后况增,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赞庶,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年澳骤,在試婚紗的時候發(fā)現(xiàn)自己被綠了歧强。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡为肮,死狀恐怖摊册,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情颊艳,我是刑警寧澤茅特,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站棋枕,受9級特大地震影響温治,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜戒悠,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一熬荆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绸狐,春花似錦卤恳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至符相,卻和暖如春拆融,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啊终。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工镜豹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蓝牲。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓趟脂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親例衍。 傳聞我的和親對象是個殘疾皇子昔期,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

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