如果是剛開始做用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空間,微信的列表里嫂易,如下圖:
這幅圖就是系統(tǒng)給的分享的代碼兄朋,官網的demo中有,直接copy來
?把以上所有的圖片(除了第一個圖)拼起來就是一個完整的分享的代碼示例了怜械,里包含了按照系統(tǒng)定義的分享(QQ好友颅和,QQ空間,微信好友)和自定義分享(微信朋友圈宫盔,其實想分享什么就分享什么融虽,比較任性享完,哈哈哈)灼芭,如果需要定義其他的分享內容的話只需要將相應的內容進行替換然后再把下圖中標記出來的替換成自己要分享的類型即可:
?至此,搞定所有般又!
?--------------------------------------更新-----------------------------------
?如果僅僅只需要分享一張圖片而不是普通的鏈接形式的話彼绷,就按如下圖修改即可:
只需要注意我標紅的部分
?和普通的分享一樣,只是把mediaType從news改成 image就行了茴迁,其他的不需要修改寄悯,這樣就可以僅僅只分享一張圖片了。