关闭

iOS 快速集成ShareSDK实现分享功能

134人阅读 评论(0) 收藏 举报

一、获取AppKey

如果不懂可以进入这个网址看一下教程
http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1

二、下载SDK

http://www.mob.com/#/index

三、快速集成

第一步:将下载的SDK解压后导入您的工程中

将下载的SDK中的文件夹导入到工程中,记得勾选”Copy items into destination group’s folder(if needed)”

第二步:添加依赖库

必须添加的依赖库如下:

  1. SystemConfiguration.framework
  2. QuartzCore.framework
  3. CoreTelephony.framework
  4. libicucore.dylib
  5. libz.1.2.5.dylib
  6. Security.framework
  7. JavaScriptCore.framework
  8. libstdc++.dylib
  9. CoreText.framework

以下依赖库根据社交平台添加

1.新浪微博SDK依赖库

  1. ImageIO.framework
  2. AdSupport.framework
  3. libsqlite3.dylib

2.短信和邮件分享必要

  1. MessageUI.framework

3.QQ好友和QQ空间SSO必要(新注册腾讯开放平台帐号只支持SSO授权,只是老开发者才可以使用网页授权)

  1. libsqlite3.dylib

4.微信分享必要(从2.11.2开始)

  1. libsqlite3.dylib

5.Google+ 分享必要

  1. CoreMotion.framework
  2. CoreLocation.framework
  3. MediaPlayer.framework
  4. AssetsLibrary.framework
  5. AddressBook.framework

第三步:设置ShareSDK的AppKey

在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台

    [ShareSDK registerApp:@"api20"];//字符串api20为您的ShareSDK的AppKey


//添加新浪微博应用 注册网址 http://open.weibo.com
    [ShareSDK connectSinaWeiboWithAppKey:@"568898243"
                             appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3"
                             redirectUri:@"http://www.sharesdk.cn"];
    //当使用新浪微博客户端分享的时候需要按照下面的方法来初始化新浪的平台
   [ShareSDK  connectSinaWeiboWithAppKey:@"568898243"     
                             appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" 
                             redirectUri:@"http://www.sharesdk.cn" 
                             weiboSDKCls:[WeiboSDK class]];


    //添加腾讯微博应用 注册网址 http://dev.t.qq.com
    [ShareSDK connectTencentWeiboWithAppKey:@"801307650"
                                  appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c"
                                redirectUri:@"http://www.sharesdk.cn"];


    //添加QQ空间应用  注册网址  http://connect.qq.com/intro/login/
    [ShareSDK connectQZoneWithAppKey:@"100371282"
                           appSecret:@"aed9b0303e3ed1e27bae87c33761161d"
                   qqApiInterfaceCls:[QQApiInterface class]
                     tencentOAuthCls:[TencentOAuth class]];


    //添加QQ应用  注册网址   http://mobile.qq.com/api/
    [ShareSDK connectQQWithQZoneAppKey:@"100371282"
                     qqApiInterfaceCls:[QQApiInterface class]
                       tencentOAuthCls:[TencentOAuth class]];


   //微信登陆的时候需要初始化
     [ShareSDK connectWeChatWithAppId:@"wx4868b35061f87885"
                           appSecret:@"64020361b8ec4c99936c0e3999a9f249"
                           wechatCls:[WXApi class]];


    //添加豆瓣应用  注册网址 http://developers.douban.com
    [ShareSDK connectDoubanWithAppKey:@"07d08fbfc1210e931771af3f43632bb9"
                             appSecret:@"e32896161e72be91"
                             redirectUri:@"http://dev.kumoway.com/braininference/infos.php"];


    //添加人人网应用 注册网址  http://dev.renren.com
    [ShareSDK connectRenRenWithAppId:@"226427"
                              appKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
                           appSecret:@"f29df781abdd4f49beca5a2194676ca4"
                   renrenClientClass:[RennClient class]];


    //添加开心网应用  注册网址 http://open.kaixin001.com
    [ShareSDK connectKaiXinWithAppKey:@"358443394194887cee81ff5890870c7c"
                             appSecret:@"da32179d859c016169f66d90b6db2a23"
                             redirectUri:@"http://www.sharesdk.cn/"];


    //添加Instapaper应用   注册网址  http://www.instapaper.com/main/request_oauth_consumer_token
    [ShareSDK connectInstapaperWithAppKey:@"4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA"
                             appSecret:@"GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe"];


    //添加有道云笔记应用  注册网址 http://note.youdao.com/open/developguide.html#app
    [ShareSDK connectYouDaoNoteWithConsumerKey:@"dcde25dca105bcc36884ed4534dab940"
                             consumerSecret:@"d98217b4020e7f1874263795f44838fe"
                             redirectUri:@"http://www.sharesdk.cn/"];


    //添加Facebook应用  注册网址 https://developers.facebook.com
    [ShareSDK connectFacebookWithAppKey:@"107704292745179"
                             appSecret:@"38053202e1a5fe26c80c753071f0b573"];


    //添加Twitter应用  注册网址  https://dev.twitter.com
    [ShareSDK connectTwitterWithConsumerKey:@"mnTGqtXk0TYMXYTN7qUxg"
                             consumerSecret:@"ROkFqr8c3m1HXqS3rm3TJ0WkAJuwBOSaWhPbZ9Ojuc"
                             redirectUri:@"http://www.sharesdk.cn"];

第四步:添加实现代码

  NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"ShareSDK" ofType:@"png"];


    //构造分享内容
    id<ISSContent> publishContent = [ShareSDK content:@"分享内容"
                                       defaultContent:@"测试一下"
                                                image:[ShareSDK imageWithPath:imagePath]
                                                title:@"ShareSDK"
                                                  url:@"http://www.mob.com"
                                          description:@"这是一条测试信息"
                                            mediaType:SSPublishContentMediaTypeNews];
    //创建弹出菜单容器
    id<ISSContainer> container = [ShareSDK container];
    [container setIPadContainerWithView:sender arrowDirect:UIPopoverArrowDirectionUp];


    //弹出分享菜单
    [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)
                                {
                                    NSLog(@"分享成功");
                                }
                                else if (state == SSResponseStateFail)
                                {
                                    NSLog(@"分享失败,错误码:%ld,错误描述:%@", [error errorCode], [error errorDescription]);
                                }
                            }];
补充建议将这部分代码单独写个类,如果一个工程中多次用到分享就会方便的很多.
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25819次
    • 积分:277
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:47篇
    • 译文:0篇
    • 评论:0条