如果是刚开始做用shareSDK做分享的话,建议去shareSDK官网看官方给出的文档地址:http://wiki.mob.com/ios简洁版快速集成/看完之后,建议点击左侧的适配iOS9查看具体的内容,毕竟这里还是需要看的,下面我就来说说我所遇到的问题(最好是对整个流程比较清楚,否则不推荐往下看)
如果仅仅想分享图片而非普通的新闻链接样式的分享的话,可以跳过直接看---更新---部分
1,我所遇到的问题是,通过官方的代码能实现分享(我分享的主要平台是 QQ好友,QQ空间,微信好友,微信朋友圈),看下分享的通用代码:
仅仅只是构件分享内容的代码,其他代码官网都有我就不再贴图,只是用来解释下面的内容
我们知道构建分享内容包括:分享的内容,默认分享内容,分享所 显示的缩略图,分享内容的标题,分享的url,分享的描述和分享文件的类型,首先分享类型要是上图所显示的SSPublishContentMediaTypeNews 这个类型,具体有哪些类型可以点进去看说明,里面写的很清楚,就当我以为所有都OK的情况下(确实,按照官方的代码所有的分享都能实现),但是问题来了,用这个可以完全分享出去,并且测试没有任何问题,但是唯一一点就是 分享到QQ好友,微信好友,QQ空间都会按照我们构件的标题,内容,缩略图和链接去分享出去,但是仅仅在分享到朋友圈的时候分享出去的是 缩略图,标题和链接,但是内容是不会显示的,也就是说我们看到的缩略图后面的描述文字其实只是标题而已,而我们又不能把标题改成内容如果改了的话那么微信朋友圈的分享没问题了,其他的就会有问题,那么怎么才能让朋友圈分享出去的给我们看到的是内容描述文字而不是标题呢?
2,最开始我知道有一个自定义item的方法,如下
//自定义菜单项
id item1 = [ShareSDKshareActionSheetItemWithTitle:@""
icon:nil
clickHandler:^{
}];
但是有这个方法自定义菜单项当然没问题,但是clickHandler这个block里应该写什么呢,毕竟这个是第三方集成好给我们用的,最初我根本不知道应该在里面写什么来处理分享事件,实在没办法只能下载官方的demo然后用自己的手机真机调试,一步一步的看怎么弄,后来终于找到解决方法了,自定义方法没错,也知道在clickHandler里写什么了,具体代码如下:
上面部分是构造通用的分享内容,下面部分是单独构造微信朋友圈分享内容
对比上面两个部分可以看出其实没有太大变化,仅仅只是把title这个字段的值改成了描述内容而已(为什么这样,因为微信朋友圈默认分享出去的是标题而不是内容,但是我们需要显示的是内容而不是标题,所以把内容复制给标题那个字段就好啦),到此构件自定义的朋友圈分享内容算是完了,那么接下来我们就自定义的item吧,如下图:
自定义朋友圈分享的item主要是clickHandle的方法实现
现在我们自定义的item也弄好了,剩下的就是把这个自定义的item添加到QQ,QQ空间,微信的列表里,如下图:
这幅图就是系统给的分享的代码,官网的demo中有,直接copy来
把以上所有的图片(除了第一个图)拼起来就是一个完整的分享的代码示例了,里包含了按照系统定义的分享(QQ好友,QQ空间,微信好友)和自定义分享(微信朋友圈,其实想分享什么就分享什么,比较任性,哈哈哈),如果需要定义其他的分享内容的话只需要将相应的内容进行替换然后再把下图中标记出来的替换成自己要分享的类型即可:
至此,搞定所有!
--------------------------------------更新-----------------------------------
如果仅仅只需要分享一张图片而不是普通的链接形式的话,就按如下图修改即可:
只需要注意我标红的部分
和普通的分享一样,只是把mediaType从news改成 image就行了,其他的不需要修改,这样就可以仅仅只分享一张图片了。