iOS使用ShareSDK集成新浪微博分享

前言

在iOS平台,shareSDK是一个很成熟的第三方分享平台,提供了非常方便的接口,虽然官方给出了集成文档,但是还是有一些不明确的地方。现在分享给大家,如何集成简单的新浪微博分享。


第一步:去官网注册成为开发者

  • 传送地址:ShareSDK

  • 公司名称可以随意填写,其他基本信息要正确填写

iOS使用ShareSDK集成新浪微博分享_第1张图片

第二步:进入后台创建应用获取App Key

iOS使用ShareSDK集成新浪微博分享_第2张图片

iOS使用ShareSDK集成新浪微博分享_第3张图片


iOS使用ShareSDK集成新浪微博分享_第4张图片

  • 获取App Key,后期会使用到
iOS使用ShareSDK集成新浪微博分享_第5张图片

第三步:下载SDK并将解压后的文件夹拖到项目中

  • 地址:shareSDK

  • 勾选新浪微博
iOS使用ShareSDK集成新浪微博分享_第6张图片

  • 将文件解压后拖到项目中
  • 注意:
    • 请务必在上述步骤中选择“Create groups for any added folders”单选按钮组。
    • 如果你选择“Create folder references for any added folders”,一个蓝色的文件夹引用将被添加到项目并且将无法找到它的资源。
iOS使用ShareSDK集成新浪微博分享_第7张图片

第四步:添加依赖库

iOS使用ShareSDK集成新浪微博分享_第8张图片

必须添加的依赖库(Xcode 7 之后 .dylib库后缀名更改为.tbd)

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

添加新浪微博SDK依赖库

  • ImageIO.framework
  • libsqlite3.dylib

第五步:前往新浪开发平台申请App Key

  • 传送地址 : 新浪微博开发平台
  • 登录微博账号后,选择移动应用
iOS使用ShareSDK集成新浪微博分享_第9张图片

  • 填写基本信息
iOS使用ShareSDK集成新浪微博分享_第10张图片

  • 创建成功后即可获得App Key 以及App Secret(后面会用到这两个东西)
  • 另外在该页面需要填写好所有带 * 的选项
iOS使用ShareSDK集成新浪微博分享_第11张图片

  • 进行授权设置
iOS使用ShareSDK集成新浪微博分享_第12张图片

第六步:打开工程中的AppDelegate.m文件和info.plist进行配置

  • 首先在AppDelegate.m中导入头文件
#import "AppDelegate.h"
#import 
#import 
#import "WeiboSDK.h"
  • 在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台

  • 传送地址:各平台申请AppKey地址汇总

  • 代码

    [ShareSDK registerApp:@"填写在ShareSDK平台申请的App Key"
     
          activePlatforms:@[
                            @(SSDKPlatformTypeSinaWeibo)
                           ]
                 onImport:^(SSDKPlatformType platformType)
     {
         switch (platformType)
         {

             case SSDKPlatformTypeSinaWeibo:
                 [ShareSDKConnector connectWeibo:[WeiboSDK class]];
                 break;

             default:
                 break;
         }
     }
          onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)
     {
         
         switch (platformType)
         {
             case SSDKPlatformTypeSinaWeibo:
                 //设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
                 [appInfo SSDKSetupSinaWeiboByAppKey:@"填写在新浪微博开发平台申请的App Key"
                                           appSecret:@"填写在新浪微博开发平台申请的App Secret"
                                         redirectUri:@"http://www.weibo.com" // 这里不要乱写,否则会无法对跳转到微博登录页面
                                            authType:SSDKAuthTypeBoth];
                 break;

             default:
                 break;
         }
     }];
  • 配置info.plist文件

iOS使用ShareSDK集成新浪微博分享_第13张图片

第七步:在需要分享的页面进行设置

iOS使用ShareSDK集成新浪微博分享_第14张图片
  • 例如在该界面的rightBarButtonItem对应的action方法中写如下的代码
#pragma mark - shareButotn Action

- (void)shareAction:(UIBarButtonItem *)shareButton {
    //1、创建分享参数
    // 注意:如果要分享本地图片,必须要在Xcode左边目录里面,并且名称必须要传正确,
    //      如果要分享网络图片,需要前往新浪微博开发平台申请高级读写权限,否则会报code=204的error
    // 备注:分享网络图片的写法,@[@"http://cms-bucket.nosdn.127.net/catchpic/2/21/2122f33b01798096b7a8041e3736c2f2.jpg"])
    
    // 分享的图片数组
    NSArray* imageArray = @[[UIImage imageNamed:@"shareWeibo"]];

    if (imageArray) {
        
        NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
        [shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"%@ \\n\\n 来自:Sugar Plus", _shareLink]
                                         images:nil // 如果不想分享图片,填写nil即可
                                            url:nil
                                          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;
                       }
                   }
         ];}
}

  • 如果想分享网络图片需要前往新浪微博开发平台打开高级读写权限
iOS使用ShareSDK集成新浪微博分享_第15张图片
  • 想使用高级权限的前提是你的应用通过新浪微博的审核
iOS使用ShareSDK集成新浪微博分享_第16张图片
  • 需要完善如下信息
iOS使用ShareSDK集成新浪微博分享_第17张图片

附带:效果图

  • 点击rightBarButton后首先弹出一个sheet
iOS使用ShareSDK集成新浪微博分享_第18张图片

  • 配置需要分享的内容(可以自己更改)
iOS使用ShareSDK集成新浪微博分享_第19张图片

  • 第一次分享会弹出一个webView要求登录微博,以后再分享无需登录
iOS使用ShareSDK集成新浪微博分享_第20张图片

  • 分享成功后提示框
iOS使用ShareSDK集成新浪微博分享_第21张图片

  • 微博端效果图
  • 由于没有填写那一大堆认证信息,所以显示的是 未通过审核应用
iOS使用ShareSDK集成新浪微博分享_第22张图片

最后

如果大家想集成更多的三方平台分享,可以去查看更完整的shareSDK官方文档。希望我的分享能够帮到你。

你可能感兴趣的:(iOS使用ShareSDK集成新浪微博分享)