iOS社会化分享

iOS中社会化分享总共分为三种:

1、使用系统自带的,但系统自带只可分享至短信、邮件、新浪微博、腾讯微博,但它不需要第三方库,也不需要申请App Key。但此种方式具有比较简单、页面简单,并且不能自定制的缺点;

2、自行上某某开放平台自行申请App Key,下载SDK,按着官方文档来写,比如要分享到微信朋友圈可上微信开放平台申请App Key下载SDK,但此种方式不太方便,如果一个项目中需要集成多种社会化分享那需要自己一个一个去集成比较麻烦。所以这里主要讲解下面的第三种社会化分享。

3、ShareSDK:ShareSDK是一个已经集成了很多平台,他能更方便的管理其他第三方平台,但ShareSDK需要注册一个独立的App Key。剩下的按文档做就ok,文档所给出的已经很详细;下面介绍一下ShareSDK的具体使用;


ShareSDK社会化分享的具体使用:

ShareSDK官方地址:http://www.mob.com

步骤:

第一步:进入官网

首先进入ShareSDK官网:http://www.mob.com

第二步:登陆

登陆ShareSDK官网点击右上角头像中的“进入后台”

第三步:创建应用

点击ShareSDK图像中的“立即使用”,创建一个应用

第四步:下载ShareSDK

点击“下载ShareSDK”进行下载

第五步:将ShareSDK导入工程

首先将下载好的ShareSDK进行解压,然后放入工程目录下,在工程中使用Add File To “....”将ShareSDK导入工程中

第六步:添加依赖库文件

选中工程,在Build Phases中展开Link Binary With Libraries在里面添加一下依赖库:

SystemConfiguration.framework
QuartzCore.framework 
CoreTelephony.framework
libicucore.dylib
libz.1.2.5.dylib
Security.framework

第七步:根据社交平台需要添加的依赖库,还是在第六步的选项卡中添加:

Social.framework    腾讯微博
Accounts.framework  腾讯微博
MessageUI.framework 短信和邮件
libstdc++.dylib   QQ好友和QQ空间SSO授权需要(新注册的腾讯开放平台帐号只支持SSO授权权限)
libsqlite3.dylib   QQ好友和QQ空间SSO授权需要(新注册的腾讯开放平台帐号只支持SSO授权权限)
CoreMotion.framework   Google+ 
CoreLocation.framework Google+
MediaPlayer.framework  Google+
CoreText.framework   Google+ 
AssetsLibrary.framework    Google+
AddressBook.framework  Google+

第八步:初始化ShareSDK与和社交平台

1、在AppDelegate.m文件中添加ShareSDK头文件:

#import <ShareSDK/ShareSDK.h>

2、设置rootViewController,必须设置

3、在AppDelegate.m文件中导入平台的SDK头文件,根据需要进行导入

#import "WXApi.h"
#import "WeiboApi.h"
#import "WeiboSDK.h"
#import <TencentOpenAPI/QQApi.h>
#import <TencentOpenAPI/QQApiInterface.h>
 
#import <QZoneConnection/ISSQZoneApp.h>
#import <FacebookConnection/ISSFacebookApp.h>
#import <TencentOpenAPI/TencentOAuth.h>
#import <RennSDK/RennSDK.h>
#import <GoogleOpenSource/GoogleOpenSource.h>
 
#import <GooglePlus/GooglePlus.h>
#import <Pinterest/Pinterest.h>
#import "YXApi.h"

4、初始化ShareSDK,字符串“ce33b0737ca2”是你申请ShareSDK时得到的App Key,进入后台即可看见,在didFinishLaunchingWithOptions中进行

[ShareSDK  registerAPP:@"ce33b0737ca2"];

5、初始化社交平台(这里以新浪微博为例),在didFinishLaunchingWithOptions中进行:

/**

http://open.weibo.com上注册新浪微博开放平台应用,并将相关信息填写到一下字段

其它应用的App Key等相关信息百度搜索某某开放平台进行申请即可

*/

[ShareSDK connectSinaWeiboWithAppKey:@"568898243" appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" redirectUri:@"http://www.sharesdk.cn"];


第九步:设置URL  Scheme

1.需要依赖客户端分享或者要支持SSO授权(可以理解成跳到客户端授权)的平台都需要配置平台的URL Scheme(应用分享到社交平台后通过识别URL Scheme返回应用)。具体配置URL Scheme请参考iOS配置SSO授权

(http://wiki.mob.com/%E9%85%8D%E7%BD%AEsso%E6%8E%88%E6%9D%83-2/)。

2.需要在AppDelegate.m中添加处理打开链接的方法

- (BOOL)application:(UIApplication *)application
       handleOpenURL:(NSURL *)url
{
     return  [ShareSDK handleOpenURL:url
                         wxDelegate:self];
}
 
- (BOOL)application:(UIApplication *)application
             openURL:(NSURL *)url
   sourceApplication:(NSString *)sourceApplication
          annotation:(id)annotation
{
     return  [ShareSDK handleOpenURL:url
                  sourceApplication:sourceApplication
                         annotation:annotation
                         wxDelegate:self];
}

第十步:构造分享内容并分享

1、进入需要分享的Controller中,在该类中导入ShareSDK:#import  <ShareSDK/ShareSDK.h>

2、进行分享

//触发分享的事件
- (IBAction)ShareEventClicked:(id)sender
{
     NSString *imagePath = [[NSBundle mainBundle] pathForResource:@ "ShareSDK"  ofType:@ "jpg" ];
     
     //1、构造分享内容
     id<ISSContent> publishContent = [ShareSDK content:@ "要分享的内容"
                                        defaultContent:@ "默认内容"
                                                 image:[ShareSDK imageWithPath:imagePath]
                                                 title:@ "ShareSDK"
                                                   url:@ "http://www.mob.com"
                                           description:@ "这是一条演示信息"
                                             mediaType:SSPublishContentMediaTypeNews];
     //1+创建弹出菜单容器(iPad必要)
     id<ISSContainer> container = [ShareSDK container];
     [container setIPadContainerWithView:sender arrowDirect:UIPopoverArrowDirectionUp];
     
     //2、弹出分享菜单
     [ShareSDK showShareActionSheet:container
                          shareList:nil
                            content:publishContent
                      statusBarTips:YES
                        authOptions:nil
                       shareOptions:nil
                             result:^(ShareType type, SSResponseState state, id<ISSPlatformShareInfo> statusInfo, id<ICMErrorInfo> error, BOOL end) {
                                 
                                 //可以根据回调提示用户。
                                 if  (state == SSResponseStateSuccess)
                                 {
                                     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@ "分享成功"
                                                                                     message:nil
                                                                                    delegate:self
                                                                           cancelButtonTitle:@ "OK"
                                                                           otherButtonTitles:nil, nil];
                                     [alert show];
                                 }
                                 else  if  (state == SSResponseStateFail)
                                 {
                                     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@ "分享失败"
                                                                                     message:[NSString stringWithFormat:@ "失败描述:%@" ,[error errorDescription]]
                                                                                    delegate:self
                                                                           cancelButtonTitle:@ "OK"
                                                                           otherButtonTitles:nil, nil];
                                     [alert show];
                                 }
                             }];
}

这就是ShareSDK进行第三方分享的完整流程


注:若有漏写不清楚的地方大家可以参考官方文档:http://dashboard.mob.com/ShareSDK/#/quickstarts/ios

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值