如何使用ShareSDK让APP快速爱情会让人拥有快乐分享功能

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
iOS开发:如何使用ShareSDK让APP快速拥有分享功能
下载积分:840
内容提示:iOS开发:如何使用ShareSDK让APP快速拥有分享功能
文档格式:PDF|
浏览次数:121|
上传日期: 13:54:06|
文档星级:
全文阅读已结束,如果下载本文需要使用
 840 积分
下载此文档
该用户还上传了这些文档
iOS开发:如何使用ShareSDK让APP快速拥有分享功能
关注微信公众号&&&&&现在APP开发集成分享功能已经是非常普遍的需求了。其他集成分享技术我没有使用过,今天我就来介绍下使用ShareSDK来进行分享功能开发的一些基本步骤和注意点,帮助朋友们避免一些坑。好了,下面切入正题正式开始介绍。
1、ShareSDK开发包及配置
&&&& 这个不用多说,去他们官网看找SDK开发包和集成文档即可。Android版本地址:。注意:记得要注册ShareSDK账号获取AppKey哦。这些集成文档里面应该都有,仔细看即可。
2、去各大应用平台注册获取AppKey和AppSecret
&&&& 这个步骤要看你们团队想分享到哪些平台了,一般都是微博和微信。所以一般都去新浪微博和微信开发平台注册。
&&&& 新浪开发平台:
&&&& 腾讯开放平台:
3、一键分享功能的集成
&&&& 使用ShareSDK进行分享,如果你不需要进行定制开发的话,就可以使用ShareSDK里面自带的一键分享模块。使用之前别忘记把ShareSDK中的jar包和ShareSDK.xml放到指定位置哦(配置文档里面都有,慢慢看即可)。
&&&& 在application节点下注册下面的Activity如图所示:
 & 注意:将红框部分的数字改成在腾讯开放平台申请到的AppId即可。
&&&&&如果项目集成了微信,还需要添加以下WXEntryActivity,不然的话,mob后台无法做微信的分享统计:(在工程的包下新建wxapi目录再放置WXEntryActivity)
<span style="color: # &!-- 微信分享配置 --&
<span style="color: #
<span style="color: #
android:name=".wxapi.WXEntryActivity"
<span style="color: #
android:configChanges="keyboardHidden|orientation|screenSize"
<span style="color: #
android:exported="true"
<span style="color: #
android:screenOrientation="portrait"
<span style="color: #
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
  WXEntryActivity.java代码如下:
* 官网地站:
* 技术支持QQ:
* 官方微信:ShareSDK
(如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复)
* Copyright (c) 2013年 . All rights reserved.
9 package com.example.haoyunhl.controller.
<span style="color: #
<span style="color: # import android.content.I
<span style="color: # import android.widget.T
<span style="color: # import cn.sharesdk.wechat.utils.WXAppExtendO
<span style="color: # import cn.sharesdk.wechat.utils.WXMediaM
<span style="color: # import cn.sharesdk.wechat.utils.WechatHandlerA
<span style="color: #
<span style="color: # /** 微信客户端回调activity示例 */
<span style="color: # public class WXEntryActivity extends WechatHandlerActivity {
<span style="color: #
<span style="color: #
<span style="color: #
* 处理微信发出的向第三方应用请求app message
<span style="color: #
<span style="color: #
* 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中
<span style="color: #
* 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可
<span style="color: #
* 做点其他的事情,包括根本不打开任何页面
<span style="color: #
<span style="color: #
public void onGetMessageFromWXReq(WXMediaMessage msg) {
<span style="color: #
if (msg != null) {
<span style="color: #
Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
<span style="color: #
startActivity(iLaunchMyself);
<span style="color: #
<span style="color: #
<span style="color: #
<span style="color: #
<span style="color: #
* 处理微信向第三方应用发起的消息
<span style="color: #
<span style="color: #
* 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享
<span style="color: #
* 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信
<span style="color: #
* 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作
<span style="color: #
<span style="color: #
<span style="color: #
* 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast
<span style="color: #
<span style="color: #
public void onShowMessageFromWXReq(WXMediaMessage msg) {
<span style="color: #
if (msg != null && msg.mediaObject != null
<span style="color: #
&& (msg.mediaObject instanceof WXAppExtendObject)) {
<span style="color: #
WXAppExtendObject obj = (WXAppExtendObject) msg.mediaO
<span style="color: #
Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();
<span style="color: #
<span style="color: #
<span style="color: #
<span style="color: # }
&&&&&下面你就可以调用一键分享功能进行简单的分享了,记住在调用之前一点要先调用ShareSDK.initSDK(this)这个方法。
&&&&&&说明:一键分享虽然简单,但是如果想要对一键分享界面进行修改时比较麻烦的,听说现在版本修改界面好像方便很多了?(不清楚,兄弟你可以去集成文档瞧瞧)。下面我就来介绍自定义的分享界面。
<span style="color: #、自定义分享界面的开发
&&&&& 先看效果图:
&&&&& 下面就来详细介绍这个分享界面的开发
&&&&&& 界面样式的布局相信大家应该都很熟悉了,我这里就不贴样式布局的代码了。我在开发中将分享功能集成到了一个组件中(ShareDialog)。详细代码如下:
1 package com.mobile.develop.framework.
3 import android.app.D
4 import android.content.C
5 import android.content.DialogInterface.*;
6 import android.view.D
7 import android.view.G
8 import android.view.LayoutI
9 import android.view.V
10 import android.view.W
11 import android.view.WindowM
12 import android.widget.LinearL
13 import android.widget.TextV
14 import com.example.haoyunhl.controller.R;
16 public class ShareDialog {
private Dialog mD
//取消分享
private TextView txtC
private OnClickListener mOnCancleL
//微信分享
private LinearLayout mWeChatS
private OnClickListener mOnWeChatShareL
//微信朋友圈分享
private LinearLayout mWeChatFriendS
private OnClickListener mOnWeChatFriendShareL
private LinearLayout mQQS
private OnClickListener mOnQQShareL
private Context mC
public ShareDialog(Context context){
//获取屏幕对象
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
display = windowManager.getDefaultDisplay();
//设置微信分享
public ShareDialog setOnWeChatShare(OnClickListener weChatShareListener){
mOnWeChatShareListener=weChatShareL
return this;
//设置分享朋友圈
public ShareDialog setOnWeChatFriendShare(OnClickListener weChatFriendShareListener){
mOnWeChatFriendShareListener=weChatFriendShareL
return this;
public ShareDialog setOnQQShare(OnClickListener qqShareListener){
mOnQQShareListener=qqShareL
return this;
public ShareDialog setOnCancleListener(OnClickListener cancleListener){
mOnCancleListener=cancleL
return this;
public void show(){
mDialog.show();
public void dismiss(){
mDialog.dismiss();
* 创建BaseDialog实例
public ShareDialog builder(){
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.share_dialg_style, null);
//设置弹出框横向铺满整个屏幕
view.setMinimumWidth(display.getWidth());
mDialog = new Dialog(mContext, R.style.ActionSheetDialogStyle);
//设置dialog弹出后会点击屏幕,dialog不消失;点击物理返回键dialog消失
mDialog.setCanceledOnTouchOutside(true);
Window dialogWindow = mDialog.getWindow();
dialogWindow.setGravity(Gravity.CENTER | Gravity.BOTTOM);
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.setAttributes(lp);
//设置点击隐藏
txtCancle=(TextView)view.findViewById(R.id.txtCancle);
txtCancle.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (mOnCancleListener != null) {
mOnCancleListener.onClick(mDialog, Dialog.BUTTON_NEGATIVE);
dismiss();
<span style="color: #0
//微信分享
<span style="color: #1
mWeChatShare=(LinearLayout)view.findViewById(R.id.mWeChatShare);
<span style="color: #2
mWeChatShare.setOnClickListener(new View.OnClickListener() {
<span style="color: #3
<span style="color: #4
public void onClick(View v) {
<span style="color: #5
if (mOnWeChatShareListener != null) {
<span style="color: #6
mOnWeChatShareListener.onClick(mDialog, Dialog.BUTTON_POSITIVE);
<span style="color: #7
<span style="color: #8
dismiss();
<span style="color: #9
<span style="color: #0
<span style="color: #1
//朋友圈分享
<span style="color: #2
mWeChatFriendShare=(LinearLayout)view.findViewById(R.id.mWeChatFriendShare);
<span style="color: #3
mWeChatFriendShare.setOnClickListener(new View.OnClickListener() {
<span style="color: #4
<span style="color: #5
public void onClick(View v) {
<span style="color: #6
if(mOnWeChatFriendShareListener!=null) {
<span style="color: #7
mOnWeChatFriendShareListener.onClick(mDialog, Dialog.BUTTON_POSITIVE);
<span style="color: #8
<span style="color: #9
dismiss();
<span style="color: #0
<span style="color: #1
<span style="color: #2
<span style="color: #3
mQQShare=(LinearLayout)view.findViewById(R.id.mQQShare);
<span style="color: #4
mQQShare.setOnClickListener(new View.OnClickListener() {
<span style="color: #5
<span style="color: #6
public void onClick(View v) {
<span style="color: #7
if(mOnQQShareListener!=null){
<span style="color: #8
mOnQQShareListener.onClick(mDialog,Dialog.BUTTON_POSITIVE);
<span style="color: #9
<span style="color: #0
<span style="color: #1
<span style="color: #2
mDialog.setContentView(view);
<span style="color: #3
return this;
<span style="color: #4
<span style="color: #5 }
  我们自定义分享时只需要重写SharePlatform.java即可。在这个文件中通过不同的分支,来执行不同的分享逻辑。代码如下:
1 package com.example.haoyunhl.
3 import android.app.A
4 import android.content.C
5 import android.os.H
6 import android.os.M
7 import android.widget.T
8 import java.util.HashM
9 import cn.sharesdk.framework.P
10 import cn.sharesdk.framework.PlatformActionL
11 import cn.sharesdk.framework.ShareSDK;
12 import cn.sharesdk.tencent.qq.QQ;
13 import cn.sharesdk.wechat.friends.W
14 import cn.sharesdk.wechat.moments.WechatM
16 public class SharePlatform extends Activity implements PlatformActionListener {
public SharePlatform(Context context){
this.context=
ShareSDK.initSDK(this.context);
* 分享回调
public void onCancel(Platform arg0, int arg1) {
//回调的地方是子线程,进行UI操作要用handle处理
handler.sendEmptyMessage(4);
public void onComplete(Platform arg0, int arg1, HashMap&String, Object& arg2) {
//回调的地方是子线程,进行UI操作要用handle处理
if (arg0.getName().equals(Wechat.NAME)) {
handler.sendEmptyMessage(1);
} else if (arg0.getName().equals(WechatMoments.NAME)) {
handler.sendEmptyMessage(2);
} else if (arg0.getName().equals(QQ.NAME)) {
handler.sendEmptyMessage(3);
public void onError(Platform arg0, int arg1, Throwable arg2) {
//回调的地方是子线程,进行UI操作要用handle处理
arg2.printStackTrace();
Message msg = new Message();
msg.what = 5;
msg.obj = arg2.getMessage();
handler.sendMessage(msg);
Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
Toast.makeText(context, "微信分享成功", Toast.LENGTH_LONG).show();
Toast.makeText(context, "朋友圈分享成功", Toast.LENGTH_LONG).show();
Toast.makeText(context, "QQ分享成功", Toast.LENGTH_LONG).show();
Toast.makeText(context, "取消分享", Toast.LENGTH_LONG).show();
Toast.makeText(context, "分享失败", Toast.LENGTH_LONG).show();
* 进行分享
* @param shareType
* @param shareTitle
* @param shareText
* @param shareImageUrl
* @param shareUrl
public void share(String shareType, String shareTitle, String shareText, String shareImageUrl, String shareUrl) {
Platform.ShareParams sharePlatform = new Platform.ShareParams();
* 如果是微信朋友圈分享
if(shareType.equalsIgnoreCase(ShareConfig.WeChatMomentsShare)){
sharePlatform.setShareType(Platform.SHARE_WEBPAGE);
<span style="color: #0
setSharePlatform(sharePlatform,shareTitle, shareText, shareImageUrl);
<span style="color: #1
<span style="color: #2
if(shareUrl!=null && !shareUrl.equalsIgnoreCase("")) {
<span style="color: #3
sharePlatform.setUrl(shareUrl);
<span style="color: #4
<span style="color: #5
<span style="color: #6
platform = ShareSDK.getPlatform(WechatMoments.NAME);
<span style="color: #7
platform.setPlatformActionListener(this);
<span style="color: #8
platform.share(sharePlatform);
<span style="color: #9
<span style="color: #0
<span style="color: #1
* 如果是微信分享
<span style="color: #2
<span style="color: #3
else if(shareType.equalsIgnoreCase(ShareConfig.WeChatShare)){
<span style="color: #4
sharePlatform.setShareType(Platform.SHARE_WEBPAGE);
<span style="color: #5
<span style="color: #6
setSharePlatform(sharePlatform, shareTitle, shareText, shareImageUrl);
<span style="color: #7
<span style="color: #8
if(shareUrl!=null && !shareUrl.equalsIgnoreCase("")) {
<span style="color: #9
sharePlatform.setUrl(shareUrl);
<span style="color: #0
<span style="color: #1
platform = ShareSDK.getPlatform(Wechat.NAME);
<span style="color: #2
platform.setPlatformActionListener(this);
<span style="color: #3
platform.share(sharePlatform);
<span style="color: #4
<span style="color: #5
<span style="color: #6
* 如果是QQ分享
<span style="color: #7
<span style="color: #8
<span style="color: #9
setSharePlatform(sharePlatform, shareTitle, shareText, shareImageUrl);
<span style="color: #0
<span style="color: #1
if(shareUrl!=null && !shareUrl.equalsIgnoreCase("")) {
<span style="color: #2
sharePlatform.setTitleUrl(shareUrl);
<span style="color: #3
<span style="color: #4
<span style="color: #5
platform = ShareSDK.getPlatform(QQ.NAME);
<span style="color: #6
platform.setPlatformActionListener(this);
<span style="color: #7
platform.share(sharePlatform);
<span style="color: #8
<span style="color: #9
<span style="color: #0
<span style="color: #1
<span style="color: #2
private void setSharePlatform(Platform.ShareParams sharePlatform,String shareTitle, String shareText, String shareImageUrl){
<span style="color: #3
sharePlatform.setTitle(shareTitle);
<span style="color: #4
if(shareText!=null && !shareText.equalsIgnoreCase("")) {
<span style="color: #5
sharePlatform.setText(shareText);
<span style="color: #6
<span style="color: #7
if(shareImageUrl!=null && !shareImageUrl.equalsIgnoreCase("")) {
<span style="color: #8
sharePlatform.setImageUrl(shareImageUrl);
<span style="color: #9
sharePlatform.setImagePath(shareImageUrl);
<span style="color: #0
<span style="color: #1
<span style="color: #2 }
  我们在导航栏中只需要如此调用即可实现分享功能:
阅读(...) 评论()微信分享失败的解决办法(集成了ShareSDK的安卓应用)
微信分享失败
解决办法 在微信开发平台注册应用信息时填写的应用签名要小写而且要把冒号去掉 设置Bypassroval为false(即不绕过审核)需要打包生成APK进行安装运行,在微信上需要通过审核
1.仔细检查当前应用信息包名、应用名称、打包生成的MD5等信息要跟在微信上注册应用时填写的一样,点击资源下载,选择Android资源选择签名生成工具。工具下载地址: 2.如果修改过在微信上注册的信息,是需要重新提交审核的,所以在注册后就不要随意变动应用信息。 3.就是分享参数有错误了,特别是分享图片信息,请仔细检查参数,如果不是使用OneKeyShare分享需要设置ShareType参数,根据不同的参数设置相应的分享类型
绕过审核和不绕过审核分享参数是不同的请看下面的说明 Bypassroval为true(即绕过审核,微信收藏不能绕过审核),微信朋友圈可以分享图片或者图片加文字一起分享,但分享后点击返回第三方应用不会返回自身应用,会留在微信,所以最好建议不使用绕过审核,但可以用于测试。
微信好友可以分享文字、图片、文件分享,不能进行图文分享,绕过审核分享文件,title会显示文件名称,微信收藏就一定要通过审核 绕过审核不需要打包,可以直接run,Bypass...=true不会正确回调。
Bypassroval为false具体分享参数请查看官方档: 微信的具体分享代码可以参考Sample里的WechatPage类,里面演示了微信好友,微信朋友圈,微信收藏的分享代码。
大赞一个!解决问题。。就是多加了分号的问题使用ShareSDK实现分享功能 - 简书
使用ShareSDK实现分享功能
由于当初没有用markdown编写,文章有点乱,现在重新编写了一下,如果有需要,可以看这个 将内容分享到其他平台是个非常普遍的功能,今天和大家分享一下,如何用ShareSDK实现分享到微信好友、微信收藏、微信朋友圈、QQ、QQ空间、印象笔记以及复制的功能。首先,我们需要去各个社交平台申请对应的APPKey,各个平台的网址汇总可参考:
。之后,我们导入ShareSDK的库。用pod导入。在Pod file中添加```pod 'ShareSDK3'pod 'MOBFoundation'pod 'ShareSDK3/ShareSDKUI'pod 'ShareSDK3/ShareSDKPlatforms/QQ'pod 'ShareSDK3/ShareSDKPlatforms/SinaWeibo'pod 'ShareSDK3/ShareSDKPlatforms/WeChat'```其中pod 'ShareSDK3' pod 'MOBFoundation'是必须的,其他的根据需求相应的添加,比如,如果你需要使用ShareSDK的UI,那么你就需要导入pod 'ShareSDK3/ShareSDKUI',然后需要分享到哪个社交平台就添加相应的平台。准备工作做好后我们就可以进行实现了。1、在AppDelegate中导入头文件```#import&ShareSDK/ShareSDK.h&#import&WXApi.h&#import&ShareSDKConnector/ShareSDKConnector.h&#import&TencentOpenAPI/QQApiInterface.h&#import&TencentOpenAPI/TencentOAuth.h&#import&WeiboSDK.h&```2、在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchO中初始化ShareSDK[ShareSDK registerApp:@"AppKey" activePlatforms:@[@(SSDKPlatformSubTypeWechatSession),@(SSDKPlatformSubTypeWechatTimeline),@(SSDKPlatformSubTypeWechatFav),@(SSDKPlatformTypeSinaWeibo), @(SSDKPlatformTypeQQ),@(SSDKPlatformTypeYinXiang),@(SSDKPlatformSubTypeQZone), @(SSDKPlatformTypeCopy)] onImport:^(SSDKPlatformType platformType) {switch (platformType) {case SSDKPlatformTypeWechat: {[ShareSDKConnector connectWeChat:[WXApi class]];}case SSDKPlatformTypeQQ: {[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];}default:}} onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {switch (platformType) {case SSDKPlatformTypeSinaWeibo: {[appInfo SSDKSetupSinaWeiboByAppKey:@"sinaAppKey" appSecret:@"apply对应的密码" redirectUri:@"/oauth2/default.html" authType:SSDKAuthTypeBoth];}case SSDKPlatformTypeWechat: {[appInfo SSDKSetupWeChatByAppId:@"微信appkey" appSecret:@"微信apply对应的密码"];}case SSDKPlatformTypeQQ: {[appInfo SSDKSetupQQByAppId:@"QQappID" appKey:@"QQappkey" authType:SSDKAuthTypeSSO];}case SSDKPlatformTypeYinXiang:[appInfo SSDKSetupEvernoteByConsumerKey:@"印象笔记appkey" consumerSecret:@"印象笔记appkey对应的密码" sandbox:NO];default:}}];`这里需要注意的一个地方是印象笔记分享中的sandbox参数,如果在测试阶段,把参数设成YES,也就是使用沙箱环境;如果项目要上传AppStore了将其改成NO.在沙箱环境下,分享成功后在印象笔记的客户端是看不到已经分享的内容的,需要到()中查看分享的内容,只有sandbox参数为NO的时候分享成功的内容才可直接在印象笔记客户端中查看。2.添加跳转白名单。右击plist文件,用source code的方式打开,如图然后加入如下图所示的代码
或者也可以在plist文件中用key type value的方式添加,如下图
3.将bit code关掉
4、设置各个平台的URL Types
微信的URL Schemes
QQ 的URL Schemes
微博或者Facebook的 URL Schemes
5、添加-ObjC支持。如图
6、在需要分享的地方,实现分享方法。NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];分享的参数有:shareContent(分享的内容)、shareLink(分享的链接)、shareTitle(分享的标题)、netImageUrl(网络图片,给一个URL地址即可,若要分享本地图片,采用[UIImage imageNamed:@""])1.//如果所有平台要分享的内容一致,可直接采用`[shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"%@%@", shareContent, [NSURL URLWithString:shareLink]]images:netImageUrlurl:[NSURL URLWithString:shareLink]title:shareTitletype:SSDKContentTypeAuto];`2、如果想自定义各个平台的分享内容,则用其相应的API//
微信朋友圈`[shareParams SSDKSetupWeChatParamsByText:[NSString stringWithFormat:@"%@%@", shareContent, [NSURL URLWithString:shareLink]] title:shareTitle url:[NSURL URLWithString:shareLink] thumbImage:nil image:[UIImage imageNamed:@"60x60@2x"] musicFileURL:nil extInfo:nil fileData:nil emoticonData:nil type:SSDKContentTypeAuto forPlatformSubType:SSDKPlatformSubTypeWechatSession];`// 微信收藏`[shareParams SSDKSetupWeChatParamsByText:[NSString stringWithFormat:@"%@", shareContent]
title:shareTitle url:nil thumbImage:nil image:[UIImage imageNamed:@"60x60@2x"] musicFileURL:nil extInfo:nil fileData:nil emoticonData:nil type:SSDKContentTypeAuto forPlatformSubType:SSDKPlatformSubTypeWechatFav];`//
微信好友`[shareParams SSDKSetupWeChatParamsByText:[NSString stringWithFormat:@"%@", shareContent] title:shareTitle url:[NSURL URLWithString:shareLink] thumbImage:nil image:[UIImage imageNamed:@"60x60@2x"] musicFileURL:nil extInfo:nil fileData:nil emoticonData:nil type:SSDKContentTypeAuto forPlatformSubType:SSDKPlatformSubTypeWechatTimeline];`//
新浪微博,分享到微博的标题及URL需拼接到内容里,单独放在对应的参数里不好使。`[shareParams SSDKSetupSinaWeiboShareParamsByText:[NSString stringWithFormat:@"【%@】%@%@",shareTitle, shareContent, [NSURL URLWithString:shareLink]] title:shareTitle image:netImageUrl url:[NSURL URLWithString:shareLink] latitude:0 longitude:0 objectID:nil type:SSDKContentTypeAuto];`// QQ好友`[shareParams SSDKSetupQQParamsByText:[NSString stringWithFormat:@"%@", shareTitle] title:nil url:[NSURL URLWithString:shareLink] thumbImage:nil image:netImageUrl type:SSDKContentTypeAuto forPlatformSubType:SSDKPlatformTypeQQ];`//
QQ空间`[shareParams SSDKSetupQQParamsByText:[NSString stringWithFormat:@"%@", shareTitle] title:nil url:[NSURL URLWithString:shareLink] thumbImage:nil image:netImageUrl type:SSDKContentTypeAuto forPlatformSubType:SSDKPlatformSubTypeQZone];`//
印象笔记`[shareParams SSDKSetupEvernoteParamsByText:[NSString stringWithFormat:@"【%@】%@ %@",shareTitle ,shareContent,shareLink] images:netImageUrltitle:shareTitle notebook:nil tags:nil platformType:SSDKPlatformTypeYinXiang];`//
复制`[shareParams SSDKSetupCopyParamsByText:nil images:nil url:[NSURL URLWithString:shareLink] type:SSDKContentTypeAuto];`//分享界面,items中的平台的顺序可以调整`SSUIShareActionSheetController *sheet =
[ShareSDK showShareActionSheet:nilitems:@[@(SSDKPlatformSubTypeWechatSession),@(SSDKPlatformSubTypeWechatTimeline),@(SSDKPlatformSubTypeWechatFav),@(SSDKPlatformTypeSinaWeibo),@(SSDKPlatformTypeQQ),@(SSDKPlatformSubTypeQZone),@(SSDKPlatformTypeYinXiang),@(SSDKPlatformTypeCopy)]shareParams:shareParamsonShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {switch (state) {case SSDKResponseStateBegin:case SSDKResponseStateSuccess:if (platformType == SSDKPlatformTypeCopy) {[MBProgressHUD showToastToView:[UIApplication sharedApplication].keyWindow.rootViewController.view withText:@"复制成功"];}else{
[MBProgressHUD showToastToView:[UIApplication sharedApplication].keyWindow.rootViewController.view withText:@"分享成功"];}case
SSDKResponseStateFail:if (platformType == SSDKPlatformTypeCopy) {[MBProgressHUD showToastToView:[UIApplication sharedApplication].keyWindow.rootViewController.view withText:@"复制失败"];}else{[MBProgressHUD showToastToView:[UIApplication sharedApplication].keyWindow.rootViewController.view withText:@"分享失败"];}NSLog(@"失败:%@", error);default:}}];[sheet.directSharePlatforms addObject:@(SSDKPlatformTypeCopy)];`//复制功能不用显示分享的编辑界面,所以采用直接分享的方式;若其他平台也不需要出现分享编辑的界面的话也可以直接采用此方法将对应平台加上。最后效果如图下,点击相应的平台则可进行分享
以上就是简单的分享功能的实现,如果有问题或者建议都可以留言,愿与大家共同进步。
一枚敲代码、写文章的程序媛。

我要回帖

更多关于 让我拥有你 的文章

 

随机推荐