分享

步驟:

1、 在ShareSDK注冊賬號挽铁,獲取Appkey和App Secret双戳,在項目工程的Info.plist 中增加MOBAppkey 和 MOBAppSecret 兩個字段
2益楼、 在各個開放平臺注冊賬號氧秘,獲取Appkey和App Secret,初始化應用
3省撑、 添加URL Types,輸入URL Schemes出添加APPID
注意:
QQ的URL Schemes的設置赌蔑,需要在終端操作,命令如下:
echo 'ibase=10;obase=16;801312852'|bc竟秫,其中801312852為QQ的AppID,替換為自己的APPID即可娃惯,得到8位的16進制數(shù),則URL Schemes填入QQ05RDWE32
4肥败、 添加白名單

代碼

//
//  ShareTools.h
//  ShareDemo
//
//  Created by Mac Air on 2017/10/23.
//  Copyright ? 2017年 Mac Air. All rights reserved.

#import <Foundation/Foundation.h>

@interface SHShareTools : NSObject

+ (instancetype)shareInstance;
- (void)connectConfig;
- (void)inviteFriendsWithTitle:(NSString *)title detailTitle:(NSString *)detailTitle shareUrl:(NSString *)shareUrl;

@end

//
//  ShareTools.m
//  ShareDemo
//
//  Created by Mac Air on 2017/10/23.
//  Copyright ? 2017年 Mac Air. All rights reserved.
//

#import "SHShareTools.h"

#import <ShareSDK/ShareSDK.h>
#import <ShareSDKConnector/ShareSDKConnector.h>
#import <TencentOpenAPI/TencentOAuth.h>
#import <TencentOpenAPI/QQApiInterface.h>
#import <WXApi.h>
#import <WeiboSDK.h>

#import <ShareSDKUI/ShareSDKUI.h>


//微信:
#define WechatAppID @"微信開放平臺申請"
#define WechatAppSecret @"微信開放平臺申請"

//QQ:
#define  QQAPPID @"QQ開放平臺申請"
#define  QQAPPAppSecret @"QQ開放平臺申請"

//微博:
#define  WeiboAppKey @"微博開放平臺申請"
#define  WeiboAppSecret @"微博開放平臺申請"



@implementation SHShareTools

+ (instancetype)shareInstance
{
    static SHShareTools *_shareInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _shareInstance = [[self alloc] init];
    });
    return _shareInstance;
}

- (void)connectConfig
{
    [ShareSDK registerActivePlatforms:@[
                                        @(SSDKPlatformSubTypeWechatSession), //微信好友
                                        @(SSDKPlatformSubTypeWechatTimeline),//微信朋友圈
                                        @(SSDKPlatformSubTypeQQFriend),//QQ好友
                                        @(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 SSDKPlatformTypeWechat:
                                  
                              {
                                  [appInfo SSDKSetupWeChatByAppId:WechatAppID
                                                        appSecret:WechatAppSecret];
                              }
                                  break;
                                  
                              case SSDKPlatformTypeQQ:
                              {
                                  [appInfo SSDKSetupQQByAppId:QQAPPID
                                                       appKey:QQAPPAppSecret
                                                     authType:SSDKAuthTypeBoth];
                                  
                              }
                                  break;
                                  
                              case SSDKPlatformTypeSinaWeibo:
                              {
                                  //設置新浪微博應用信息,其中authType設置為使用SSO+Web形式授權
                                  [appInfo SSDKSetupSinaWeiboByAppKey:WeiboAppKey
                                                            appSecret:WeiboAppSecret
                                                          redirectUri:@"https://www.baidu.com"
                                                             authType:SSDKAuthTypeBoth];
                              }
                                  break;
                                  
                                  
                                  
                              default:
                                  break;
                          }
                          
                      }];

}



- (void)inviteFriendsWithTitle:(NSString *)title detailTitle:(NSString *)detailTitle shareUrl:(NSString *)shareUrl
{
    
    //1趾浅、創(chuàng)建分享參數(shù)
    NSArray* imageArray = @[[UIImage imageNamed:@"邀請好友"]];
    // (注意:圖片必須要在Xcode左邊目錄里面愕提,名稱必須要傳正確,如果要分享網(wǎng)絡圖片潮孽,可以這樣傳iamge參數(shù) images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
    
    if (imageArray) {
        
        NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
        [shareParams SSDKSetupShareParamsByText:detailTitle
                                         images:imageArray
                                            url:[NSURL URLWithString:shareUrl]
                                          title:title
                                           type:SSDKContentTypeAuto];
        //有的平臺要客戶端分享需要加此方法揪荣,例如微博
        [shareParams SSDKEnableUseClientShare];
        
        NSLog(@"分享的參數(shù)112筷黔,往史,%@",shareParams);
        
        //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:
                           {
                               
                               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;
                       }
                   }];
    }

}

@end

調用


//  AppDelegate.m
//  ShareDemo
//
//  Created by Mac Air on 2017/10/23.
//  Copyright ? 2017年 Mac Air. All rights reserved.
//

#import "AppDelegate.h"
#import "SHShareTools.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //配置分享的參數(shù):
    [[SHShareTools shareInstance]connectConfig];
    
    return YES;
}

- (IBAction)shareClick:(id)sender {
    
    [[SHShareTools shareInstance] inviteFriendsWithTitle:@"邀請好友" detailTitle:@"邀請好友的副標題" shareUrl:@"http://www.reibang.com/u/ce78ee1f9a89"];
    
}

效果圖

屏幕快照 2017-10-23 下午5.52.44.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末请祖,一起剝皮案震驚了整個濱河市订歪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肆捕,老刑警劉巖刷晋,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異慎陵,居然都是意外死亡眼虱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門席纽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捏悬,“玉大人,你說我怎么就攤上這事润梯」溃” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵纺铭,是天一觀的道長寇钉。 經(jīng)常有香客問我,道長舶赔,這世上最難降的妖魔是什么扫倡? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮顿痪,結果婚禮上镊辕,老公的妹妹穿的比我還像新娘。我一直安慰自己蚁袭,他們只是感情好征懈,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著揩悄,像睡著了一般卖哎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天亏娜,我揣著相機與錄音焕窝,去河邊找鬼。 笑死维贺,一個胖子當著我的面吹牛它掂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溯泣,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼虐秋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了垃沦?” 一聲冷哼從身側響起客给,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肢簿,沒想到半個月后靶剑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡池充,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年桩引,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纵菌。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡阐污,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咱圆,到底是詐尸還是另有隱情笛辟,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布序苏,位于F島的核電站手幢,受9級特大地震影響,放射性物質發(fā)生泄漏忱详。R本人自食惡果不足惜围来,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望匈睁。 院中可真熱鬧监透,春花似錦、人聲如沸航唆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糯钙。三九已至粪狼,卻和暖如春退腥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背再榄。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工狡刘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人困鸥。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓嗅蔬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窝革。 傳聞我的和親對象是個殘疾皇子购城,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

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