91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解iOS社會化分享集成

發布時間:2020-10-03 01:57:29 來源:腳本之家 閱讀:175 作者:laozhang 欄目:移動開發

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

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

ShareSDK的AppKey直接到Mob官網申請即可

2、下載地址:

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

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

詳解iOS社會化分享集成

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

詳解iOS社會化分享集成

3.開始集成

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

詳解iOS社會化分享集成

詳解iOS社會化分享集成

詳解iOS社會化分享集成

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

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

詳解iOS社會化分享集成

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

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

以下依賴庫根據社交平臺添加:

新浪微博SDK依賴庫

ImageIO.framework
 libsqlite3.dylib

QQ好友和QQ空間SDK依賴庫

libsqlite3.dylib

微信SDK依賴庫

libsqlite3.dylib

(3)設置ShareSDK的Appkey并調用初始化方法初始化對應的第三方社交平臺

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

在 MOBAppKey中 設置ShareSDK的appKey,MOBAppSecret中 設置ShareSDK的appSecret,如下圖:

詳解iOS社會化分享集成

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

#import <span ><ShareSDK/ShareSDK.h></span><br data-filtered="filtered"><sharesdk sharesdk.h=""> #import <span ><ShareSDKConnector/ShareSDKConnector.h></span><sharesdkconnector sharesdkconnector.h="">
//騰訊開放平臺(對應QQ和QQ空間)SDK頭文件
#import <span > <TencentOpenAPI/TencentOAuth.h></span><tencentopenapi tencentoauth.h="">
 #import <span ><TencentOpenAPI/QQApiInterface.h></span><tencentopenapi qqapiinterface.h="">
//微信SDK頭文件
#import "WXApi.h" 
 //新浪微博SDK頭文件
 #import "WeiboSDK.h"</tencentopenapi></tencentopenapi></sharesdkconnector></sharesdk>

iii.在- (BOOL)application: didFinishLaunchingWithOptions:方法中調用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: 
     //設置新浪微博應用信息,其中authType設置為使用SSO+Web形式授權 
     [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.需要在分享的視圖中導入的頭文件

<span class="15" > </span><span >#import <ShareSDK/ShareSDK.h></span>
 #import <ShareSDKUI/ShareSDK+SSUI.h>

ii.調用構造分享參數接口和分享的接口

//1、創建分享參數** NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
 [shareParams SSDKSetupShareParamsByText:@"分享內容"
         images:[[NSBundle mainBundle] pathForResource:@"COD13" ofType:@"jpg"]
          url:[NSURL URLWithString:@"http://mob.com"]
         title:@"分享標題"
         type:SSDKContentTypeAuto];//2、分享(可以彈出我們的分享菜單和編輯界面)**
[ShareSDK showShareActionSheet:nil //要顯示菜單的視圖, iPad版中此參數作為彈出菜單的參照視圖,只有傳這個才可以彈出我們的分享菜單,可以傳分享的按鈕對象或者自己創建小的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的配置就是微信開放平臺注冊應用獲取得到的AppID,在URL Types中添加微信AppID 即可;

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

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

具體配置見下圖:

詳解iOS社會化分享集成

(6)配置平臺的白名單

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

具體方法:

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

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

詳解iOS社會化分享集成

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

*新浪微博*
sinaweibo 
sinaweibohd 
sinaweibosso
sinaweibohdsso 
weibosdk
weibosdk2.5
 
*微信*
wechat
weixin
 
*QQ*
mqzoneopensdk
mqzoneopensdkapi 
mqzoneopensdkapi19
mqzoneopensdkapiV2
mqqOpensdkSSoLogin
mqqopensdkapiV2
mqqopensdkapiV3
wtloginmqq2
mqqapi
mqqwpa 
mqzone
mqq
mqqopensdkapiV4

(7)另外一些相關配置

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

詳解iOS社會化分享集成

2)新浪微博網頁授權分享需要暫時退回到http協議。步驟如下:

具體方法:

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

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

詳解iOS社會化分享集成

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

詳解iOS社會化分享集成

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

詳解iOS社會化分享集成 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘荣县| 房产| 德令哈市| 略阳县| 铜梁县| 湘潭市| 巢湖市| 开阳县| 云浮市| 太仆寺旗| 酒泉市| 樟树市| 岢岚县| 石城县| 府谷县| 景宁| 调兵山市| 保康县| 华阴市| 西乌珠穆沁旗| 阜南县| 乐平市| 汉寿县| 海丰县| 德钦县| 三台县| 巴中市| 广东省| 肇东市| 汽车| 新蔡县| 武定县| 新乡市| 永登县| 昭苏县| 龙岩市| 天峻县| 洞头县| 南岸区| 皋兰县| 丹阳市|