1.首先要先注册自己的appkey在shareSDK官网里面

2.下载shareSDK 文档,可以根据需要下载自己需要的

如图

3.将下载好的shareSDK 解压后加入工程里面

4.添加依赖库

//必须添加的库

必须添加的依赖库如下(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

短信和邮件需要依赖库

MessageUI.framework

5.打开*AppDelegate.m

导入需要的头文件 如图

6.在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions里面添加代码

  • (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions

    {

    /

    • 设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到http://mob.com/login 登录后台进行应用注册

    • 在将生成的AppKey传入到此方法中。

    • 方法中的第二个第三个参数为需要连接社交平台SDK时触发,

    • 在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。

    • 如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。

      */

      [ShareSDK registerApp:@"iosv1101"

      activePlatforms:@[

      @(SSDKPlatformTypeSinaWeibo),

      @(SSDKPlatformTypeMail),

      @(SSDKPlatformTypeSMS),

      @(SSDKPlatformTypeCopy),

      @(SSDKPlatformTypeWechat),

      @(SSDKPlatformTypeQQ),

      @(SSDKPlatformTypeRenren),

      @(SSDKPlatformTypeGooglePlus)]

      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;

      case SSDKPlatformTypeRenren:

      [ShareSDKConnector connectRenren:[RennClient 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;
      case SSDKPlatformTypeRenren:
      [appInfo SSDKSetupRenRenByAppId:@"226427"
      appKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
      secretKey:@"f29df781abdd4f49beca5a2194676ca4"
      authType:SSDKAuthTypeBoth];
      break;
      case SSDKPlatformTypeGooglePlus:
      [appInfo SSDKSetupGooglePlusByClientID:@"232554794995.apps.googleusercontent.com"
      clientSecret:@"PEdFgtrMw97aCvf0joQj7EMk"
      redirectUri:@"http://localhost"];
      break;
      default:
      break;
      }

      }];

      return YES;

      }

7.在你点击方法里面加入代码

//1、创建分享参数

NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];

(注意:图片必须要在Xcode左边目录里面,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])

if (imageArray) {

    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
[shareParams SSDKSetupShareParamsByText:@"分享内容"
images:imageArray
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:
{
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;
}
}
];}

8.SSO授权登录

注。。。。。。。QQ的SSO授权的 URL Schemes 的 appkey 为16进制;微博分享需要在开发者账号上面申请应用,拿到ID,在微博开放平台上面相应地址填上就可以申请了。

你想要在哪个应用上面分享,你就要去哪个应用的开发平台申请应用,拿到相应的appkey 和 appSecret.

完毕——————。

用ShareSDK 进行第三方分享的更多相关文章

  1. android shareSDK实现第三方分享

    一.  http://www.mob.com/  在mob官网注册账号,获取ShareSDK的appkey,下载shareSDK并解压. 二.进入ShareSDK解压目录,打开“Share SDK f ...

  2. iOS第三方分享-ShareSDK

    网址链接:http://mob.com/Download/detail?type=1&plat=2 由于新版的简单分享很多功能都有,而且打包后体积比全版本的少了几M所以在这里用这个 1.在官网 ...

  3. iOS - ShareSDK第三方分享(图文和视频)和登录

    由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...

  4. 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享

    这几天遇到一个需求:做第三方登录和分享.遇到了一些坑,把整个过程整理记录下来,方便他人,同时也捋一下思路. 当时考虑过把每个平台的SDK下载下来,一个一个弄,一番取舍后决定还是用ShareSDK.这里 ...

  5. 在Android Studio中使用shareSDK进行社会化分享(图文教程)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. ios第三方分享到qq、微信、人人网、微博总结

    我们开发出来的APP通常要通过第三方分享到其他社交平台,如qq.微博微信 等.通过分享可以提高APP的传播效率,增加APP的曝光率,因此也算是APP功能 里的标配了吧.目前常用的第三方分享途径有qq. ...

  7. android第三方分享之友盟社会化组件

    前言 现在几乎所有的app都带有分享功能,第一为了更好地推广自己的产品,第二作为使用者也能及时的把自己觉得好的文章,话题,app分享到社交平台供大家一起学习和使用.开发中虽然android系统自带分享 ...

  8. 利用新版ShareSDK进行手动分享(自定义分享界面)

    之前有用过Share SDK进行快捷分享,可是官方demo中的快捷分享的界面已经设置死了,而公司的产品又设计了自己的分享界面,这就需要我进行手动分享了.当前ShareSDK版本是2.5.4. 看了一堆 ...

  9. iOS开发之第三方分享QQ分享,史上最新最全第三方分享QQ方式实现

    本文章源码地址: https://github.com/zhonggaorong/QQLoginDemo 项目搭建参考:  (包含QQ登录源码下载 . QQ sdk集成) http://blog.cs ...

随机推荐

  1. ajax跨域解决方案2

    配置文件添加: <system.webServer>       <httpProtocol>        <customHeaders>          &l ...

  2. infoq 微信后台存储架构

    infoq 上微信后台存储架构 视频很是值得认真一听,大概内容摘要如下: 主要内容:同城分布式强一致,园区级容灾KV存储系统 - sync 序列号发生器      移动互联网场景下,频繁掉线重连,使用 ...

  3. NVelocity

    迭代内置对象:  velocityCount 集合数   :  count NVelocity遇到不能处理的引用时,一般会直接输出标签名称. 在$符号后加个!号,出现Null时,标签的内容就会显示空白 ...

  4. jquery.extend

    经常在插件中看到jquery.extend 方法,最近在尝试写一些简单的插件,顺便研究一下这个方法. 原文:http://www.cnblogs.com/RascallySnake/archive/2 ...

  5. 设计模式--代理模式Proxy(结构型)

    一.代理模式 为其他对象提供一种代理以控制对这个对象的访问. 代理模式分为四种: 远程代理:为了一个对象在不同的地址空间提供局部代表.这样可以隐藏一个对象存在于不同地址空间的事实. 虚拟代理:根据需要 ...

  6. [iOS] 为文本加上横线方法

    _oldPriceLabel.text = "; _oldPriceLabel.textColor = [UIColor lightGrayColor]; NSMutableAttribut ...

  7. j嵌入式f_os之定时管理

    /* * jf_timer.h * * Created on: Aug 20, 2016 * Author: lort */ #ifndef JF_OS_JF_TIMER_H_ #define JF_ ...

  8. mysql5.6 忘记root密码

    1.首先net stop mysql服务,并且切换到任务管理器,有与mysql有关的,最好关闭进程. 2.运行CMD命令切换到MySql安装bin目录,下面是我的mysql安装目录 cd  D:\Pr ...

  9. Arcgis与CityEngine安装破解

    Arcgis与CityEngine共存,实现同时破解 作为一个GIS背景的技术人员,以前安装了无数次的Arcgis DeskTop,到了新公司后,今天主管让我学习下CityEngine,学渣的我之前没 ...

  10. 数据结构之列表-javascript实现

    学习数据结构的记录 列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作包括对元素的的查找,插入,和删除 列表的两种主要表现是数组和链表,栈和队 ...