Swift 使用ShareSDK完成第三方分享功能

分享 · solar · 发布于 2 年前 · 2786 次阅读

前段时间用ShareSDK完成了第三方分享的部分,由于说明文档是Objective-C语言,所以将Swift版本整理一下,分享过来。本文以新浪微博(网页授权)为例,其他平台相似。

前期准备:

1、登陆http://mob.com 并进入开发者后台,添加一个应用,获得App Key和App Secret。

2、登陆新浪微博开发者平台http://open.weibo.com ,添加应用,获得App Key和App Secret。

正式开始:

1、进入http://sharesdk.mob.com/Download -ShareSDK For iOS专用快速集成组件,下载你所需要的社交平台framework:

FghUB1vnHWf6URJBmRqJgYKa-s9R

2、将下载的SDK解压后导入工程中,勾选”Copy items if needed”:

FoBh5KU-k7vOQL4l-7W84dSLzNfE

3、添加依赖库:

FrEVW-B4t4VcP6qb7_TmXta3agc1

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

4、新建Header File,并建立桥接:

FoKlZ_HIUnUt-HW54orDLsxSnBKr

FmsoErdw2tdqHErpV_Qy3MG5pptb

5、打开桥接文件(TEST-Bridging-Header.h)导入文件头:

#import 

6、在Appdelegate.Swift初始化SDK和第三方平台(附常见平台代码):

 ShareSDK.registerApp("ShareSDKAppKey")
       //新浪微博
        ShareSDK.connectSinaWeiboWithAppKey("4071914616", appSecret: "273f52407df87a15cbe06840c64cc0d2", redirectUri: "http://www.weibo.com/balancea")
        //豆瓣
ShareSDK.connectDoubanWithAppKey("02e0393e2cfbecb508a0abba86f3c61f", appSecret: "9a000e648fd0cbce", redirectUri: "http://www.ijilu.com")
        //QQ空间
        ShareSDK.connectQZoneWithAppKey("1103527931", appSecret:"WEKkOPW0NJkc1cwS", qqApiInterfaceCls: QQApiInterface.classForCoder(), tencentOAuthCls: TencentOAuth.classForCoder())
        //QQ
        ShareSDK.connectQQWithAppId("1103527931", qqApiCls:QQApiInterface.classForCoder())
       //链接微信
        ShareSDK.connectWeChatWithAppId("wx5f09f3b56fd1faf7", wechatCls: WXApi.classForCoder())
        //微信好友
      ShareSDK.connectWeChatSessionWithAppId("wx5f09f3b56fd1faf7", wechatCls:WXApi.classForCoder())
       //微信朋友圈
    ShareSDK.connectWeChatTimelineWithAppId("wx5f09f3b56fd1faf7", wechatCls: WXApi.classForCoder())
        ShareSDK.connectRenRenWithAppKey("3899f3ffa97544a3a6767ce3d7530142", appSecret: "4a9df27a701742c09d05dbb52ef1483a")

7、在分享按钮或其他控件的动作中添加实现代码:

func share() {
        var publishContent : ISSContent = ShareSDK.content("分享文字", defaultContent:"默认分享内容,没内容时显示",image:nil, title:"提示",url:"返回链接",description:"这是一条测试信息",mediaType:SSPublishContentMediaTypeNews)
        ShareSDK.showShareActionSheet(nil, shareList: nil, content: publishContent, statusBarTips: true, authOptions: nil, shareOptions: nil, result: {(type:ShareType,state:SSResponseState,statusInfo:ISSPlatformShareInfo!,error:ICMErrorInfo!,end:Bool) in
            println(state.value)
            if (state.value == SSResponseStateSuccess.value){
                println("分享成功")
                var alert = UIAlertView(title: "提示", message:"分享成功", delegate:self, cancelButtonTitle: "ok")
                alert.show()
            }
            else {if (state.value == 2) {
                var alert = UIAlertView(title: "提示", message:"您没有安装客户端,无法使用分享功能!", delegate:self, cancelButtonTitle: "ok")
                alert.show()
                println(error.errorCode())
                println(error.errorDescription())
                println()
                }
            }
        })
    }

至此,已可以使用新浪微博网页授权进行分享,如需使用客户端,只需添加SSO授权即可。

另外,新注册腾讯开放平台帐号只支持SSO授权,只是老开发者才可以使用网页授权。

豆瓣开发者平台新建应用后,需要添加测试ID,并使用此ID进行分享测试。

原开发文档:http://wiki.mob.com/快速集成指南/


来源:http://www.jianshu.com/p/f95080d109a6

共收到 3 条回复
aznelite89 · #1 · 6 个月前

马克

tang006 · #2 · 4 个月前

fgh

power · #3 · 4 个月前

厉害

回帖