前段时间用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:
2、将下载的SDK解压后导入工程中,勾选”Copy items if needed”:
3、添加依赖库:
SystemConfiguration.framework
QuartzCore.framework
CoreTelephony.framework
libicucore.dylib
libz.1.2.5.dylib
Security.framework
4、新建Header File,并建立桥接:
5、打开桥接文件(TEST-Bridging-Header.h)导入文件头:
<pre><code>#import <ShareSDK/ShareSDK.h></code></pre>
6、在Appdelegate.Swift初始化SDK和第三方平台(附常见平台代码):
<pre><code>
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")</code></pre>
7、在分享按钮或其他控件的动作中添加实现代码:
<pre><code>
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()
}
}
})
}</pre></code>
至此,已可以使用新浪微博网页授权进行分享,如需使用客户端,只需添加SSO授权即可。
另外,新注册腾讯开放平台帐号只支持SSO授权,只是老开发者才可以使用网页授权。
豆瓣开发者平台新建应用后,需要添加测试ID,并使用此ID进行分享测试。
原开发文档:http://wiki.mob.com/快速集成指南/