国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

詳解iOS社會化分享集成

2019-10-21 18:41:49
字體:
供稿:網(wǎng)友

最近項目需要加入第三方分享功能,看了網(wǎng)上的一些第三方SDK的介紹,覺得ShareSDK是一個很強(qiáng)大方便的第三方工具,所以選擇了ShareSDK來完成。這里記錄一下完整的集成與使用流程。

1.申請ShareSDK的AppKey以及第三方平臺的AppKey

ShareSDK的AppKey直接到Mob官網(wǎng)申請即可

2、下載地址:

http://www.mob.com/downloadDetail/ShareSDK/ios

下載的時候根據(jù)自己需求選擇需要的平臺,我這里選擇的是默認(rèn)分享視圖,只測試微博,微信,QQ。

iOS,社會化分享

下載之后解壓出來如下,我們需要導(dǎo)入項目的是這整個SDK資源文件:

iOS,社會化分享

3.開始集成

(1)將上面下載的SDK文件夾拖進(jìn)Xcode項目里,如下圖:

iOS,社會化分享

iOS,社會化分享

iOS,社會化分享

注意:直接拖SDK進(jìn)去請務(wù)必在上述步驟中選擇“Create groups ”單選按鈕組。如果你選擇“Create folder references”,一個藍(lán)色的文件夾引用將被添加到項目并且將無法找到它的資源。

(2)添加依賴庫,添加步驟如下圖:

iOS,社會化分享

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

libicucore.dyliblibz.dyliblibstdc++.dylibJavaScriptCore.framework

以下依賴庫根據(jù)社交平臺添加:

新浪微博SDK依賴庫

ImageIO.framework libsqlite3.dylib

QQ好友和QQ空間SDK依賴庫

libsqlite3.dylib

微信SDK依賴庫

libsqlite3.dylib

(3)設(shè)置ShareSDK的Appkey并調(diào)用初始化方法初始化對應(yīng)的第三方社交平臺

i.在項目工程的Info.plist 中如圖增加 MOBAppKey 和 MOBAppSecret 兩個字段

在 MOBAppKey中 設(shè)置ShareSDK的appKey,MOBAppSecret中 設(shè)置ShareSDK的appSecret,如下圖:

iOS,社會化分享

ii.打開AppDelegate.m(代表你的工程名字)導(dǎo)入頭文件**

#import <span style="color: rgb(101, 123, 131); font-family: Menlo; font-size: 9pt; line-height: 1.8em;"><ShareSDK/ShareSDK.h></span><br data-filtered="filtered"><sharesdk sharesdk.h=""> #import <span style="color: rgb(101, 123, 131); font-family: Menlo; font-size: 9pt; line-height: 1.8em;"><ShareSDKConnector/ShareSDKConnector.h></span><sharesdkconnector sharesdkconnector.h="">//騰訊開放平臺(對應(yīng)QQ和QQ空間)SDK頭文件#import <span style="color: rgb(101, 123, 131); font-family: Menlo; font-size: 9pt; line-height: 1.8em;"> <TencentOpenAPI/TencentOAuth.h></span><tencentopenapi tencentoauth.h=""> #import <span style="color: rgb(101, 123, 131); font-family: Menlo; font-size: 9pt; line-height: 1.8em;"><TencentOpenAPI/QQApiInterface.h></span><tencentopenapi qqapiinterface.h="">//微信SDK頭文件#import "WXApi.h"  //新浪微博SDK頭文件 #import "WeiboSDK.h"</tencentopenapi></tencentopenapi></sharesdkconnector></sharesdk>

 

iii.在- (BOOL)application: didFinishLaunchingWithOptions:方法中調(diào)用registerActivePlatforms方法來初始化

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {**    // Override point for customization after application launch.   [ShareSDK registerActivePlatforms:@[        @(SSDKPlatformTypeSinaWeibo),         @(SSDKPlatformTypeWechat),         @(SSDKPlatformTypeQQ)]      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:@"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;     default:      break;    }   }];  return YES; }

(4)添加分享代碼

i.需要在分享的視圖中導(dǎo)入的頭文件

<span class="15" style="line-height: 1.8em; font-family: Menlo; color: rgb(101, 123, 131); font-size: 9pt; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;"> </span><span style="line-height: 1.8em; font-family: Menlo; color: rgb(101, 123, 131); font-size: 9pt; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;">#import <ShareSDK/ShareSDK.h></span>
 #import <ShareSDKUI/ShareSDK+SSUI.h>

ii.調(diào)用構(gòu)造分享參數(shù)接口和分享的接口

//1、創(chuàng)建分享參數(shù)** NSMutableDictionary *shareParams = [NSMutableDictionary dictionary]; [shareParams SSDKSetupShareParamsByText:@"分享內(nèi)容"         images:[[NSBundle mainBundle] pathForResource:@"COD13" ofType:@"jpg"]          url:[NSURL URLWithString:@"http://mob.com"]         title:@"分享標(biāo)題"         type:SSDKContentTypeAuto];//2、分享(可以彈出我們的分享菜單和編輯界面)**[ShareSDK showShareActionSheet:nil //要顯示菜單的視圖, iPad版中此參數(shù)作為彈出菜單的參照視圖,只有傳這個才可以彈出我們的分享菜單,可以傳分享的按鈕對象或者自己創(chuàng)建小的view 對象,iPhone可以傳nil不會影響       items:nil     shareParams:shareParams   onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {      switch (state) {      case SSDKResponseStateSuccess:       {       NSLog(@"分享成功");       break;       }       case SSDKResponseStateFail:       {       NSLog(@"分享失敗~~%@",error.description);       break;      }       default:       break;      }     }   ];

(5)配置平臺的URL Scheme

i.微信的URL Scheme的配置就是微信開放平臺注冊應(yīng)用獲取得到的AppID,在URL Types中添加微信AppID 即可;

ii.微博的URL Scheme的配置就是微博開放平臺注冊應(yīng)用獲取到的Appkey,并在前面加wb前綴,格式為wb+AppKey;

iii.QQ的URL Scheme的配置就是騰訊開放平臺注冊應(yīng)用獲取到的AppID,并且轉(zhuǎn)成十六進(jìn)制,另外在前面加QQ前綴,格式為:QQ+ AppId的16進(jìn)制(如果appId轉(zhuǎn)換的16進(jìn)制數(shù)不夠8位則在前面補(bǔ)0,如轉(zhuǎn)換的是:5FB8B52,則最終填入為:QQ05FB8B52 ,則最終填入為:QQ05FB8B52 注意:轉(zhuǎn)換后的字母要大寫)那么如何轉(zhuǎn)換的,這個可以在網(wǎng)上找一個在線十進(jìn)制轉(zhuǎn)十六進(jìn)制的轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換就可以,例如 http://www.sojson.com/hexconvert.html

具體配置見下圖:

iOS,社會化分享

(6)配置平臺的白名單

在iOS 9下涉及到平臺客戶端跳轉(zhuǎn),系統(tǒng)會自動到項目info.plist下檢測是否設(shè)置平臺Scheme。對于需要配置的平臺,如果沒有配置,就無法正常跳轉(zhuǎn)平臺客戶端。因此要支持客戶端的分享和授權(quán)等,需要配置Scheme名單。

具體方法:

1)、在項目的info.plist中添加一LSApplicationQueriesSchemes,類型為Array。

2)、然后給它添加一個需要支持的項目,類型為字符串類型;

iOS,社會化分享

各平臺****OpenURL****白名單說明

*新浪微博*sinaweibo sinaweibohd sinaweibossosinaweibohdsso weibosdkweibosdk2.5 *微信*wechatweixin *QQ*mqzoneopensdkmqzoneopensdkapi mqzoneopensdkapi19mqzoneopensdkapiV2mqqOpensdkSSoLoginmqqopensdkapiV2mqqopensdkapiV3wtloginmqq2mqqapimqqwpa mqzonemqqmqqopensdkapiV4

(7)另外一些相關(guān)配置

**1)新浪微博,微信SDK都需要在項目的Build Settings中的Other Linker Flags添加”-ObjC”,如果不配置有可能會崩潰。步驟如下: **

iOS,社會化分享

2)新浪微博網(wǎng)頁授權(quán)分享需要暫時退回到http協(xié)議。步驟如下:

具體方法:

在項目的info.plist中添加一個Key:App Transport Security Settings,類型為字典類型。

然后給它添加一個Key:Allow Arbitrary Loads,類型為Boolean類型,值為YES;

iOS,社會化分享

3)新浪微博客戶端分享還需要在plist文件里添加隱私權(quán)限配置:相冊權(quán)限:Privacy - Photo Library Usage Description ,如下圖:

iOS,社會化分享

以上就是完整的集成步驟,到這里就結(jié)束了!很簡單的吧!


注:相關(guān)教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北海市| 阿拉尔市| 合江县| 合作市| 新晃| 富阳市| 芮城县| 贵港市| 桐乡市| 会泽县| 原平市| 鄂托克前旗| 焦作市| 长寿区| 三原县| 横山县| 邵阳市| 新田县| 宿迁市| 甘泉县| 大姚县| 北安市| 聂荣县| 洮南市| 黎城县| 龙门县| 巴里| 两当县| 阳春市| 贵阳市| 定襄县| 西城区| 望江县| 太仆寺旗| 湘潭市| 乌审旗| 金阳县| 石景山区| 兰溪市| 松原市| 沙河市|