如果是剛開始做用shareSDK做分享的話,建議去shareSDK官網看官方給出的文檔地址:http://wiki.mob.com/ios簡潔版快速集成/看完之后,建議點擊左側的適配iOS9查看具體的內容,畢竟這里還是需要看的,下面我就來說說我所遇到的問題(最好是對整個流程比較清楚,否則不推薦往下看)
如果僅僅想分享圖片而非普通的新聞鏈接樣式的分享的話,可以跳過直接看---更新---部分?
1,我所遇到的問題是,通過官方的代碼能實現(xiàn)分享(我分享的主要平臺是 QQ好友,QQ空間,微信好友,微信朋友圈),看下分享的通用代碼:
僅僅只是構件分享內容的代碼,其他代碼官網都有我就不再貼圖,只是用來解釋下面的內容
?我們知道構建分享內容包括:分享的內容,默認分享內容,分享所 顯示的縮略圖,分享內容的標題,分享的url,分享的描述和分享文件的類型,首先分享類型要是上圖所顯示的SSPublishContentMediaTypeNews 這個類型,具體有哪些類型可以點進去看說明,里面寫的很清楚,就當我以為所有都OK的情況下(確實,按照官方的代碼所有的分享都能實現(xiàn)),但是問題來了,用這個可以完全分享出去,并且測試沒有任何問題,但是唯一一點就是 ?分享到QQ好友,微信好友,QQ空間都會按照我們構件的標題,內容,縮略圖和鏈接去分享出去,但是僅僅在分享到朋友圈的時候分享出去的是 縮略圖,標題和鏈接,但是內容是不會顯示的,也就是說我們看到的縮略圖后面的描述文字其實只是標題而已,而我們又不能把標題改成內容如果改了的話那么微信朋友圈的分享沒問題了,其他的就會有問題,那么怎么才能讓朋友圈分享出去的給我們看到的是內容描述文字而不是標題呢?
2,最開始我知道有一個自定義item的方法,如下
//自定義菜單項
???id?item1 =?[ShareSDKshareActionSheetItemWithTitle:@""
icon:nil
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? clickHandler:^{
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }];
但是有這個方法自定義菜單項當然沒問題,但是clickHandler這個block里應該寫什么呢,畢竟這個是第三方集成好給我們用的,最初我根本不知道應該在里面寫什么來處理分享事件,?實在沒辦法只能下載官方的demo然后用自己的手機真機調試,一步一步的看怎么弄,后來終于找到解決方法了,自定義方法沒錯,也知道在clickHandler里寫什么了,具體代碼如下:
上面部分是構造通用的分享內容,下面部分是單獨構造微信朋友圈分享內容
?對比上面兩個部分可以看出其實沒有太大變化,僅僅只是把title這個字段的值改成了描述內容而已(為什么這樣,因為微信朋友圈默認分享出去的是標題而不是內容,但是我們需要顯示的是內容而不是標題,所以把內容復制給標題那個字段就好啦),到此構件自定義的朋友圈分享內容算是完了,那么接下來我們就自定義的item吧,如下圖:
自定義朋友圈分享的item主要是clickHandle的方法實現(xiàn)
?現(xiàn)在我們自定義的item也弄好了,剩下的就是把這個自定義的item添加到QQ,QQ空間,微信的列表里,如下圖:
這幅圖就是系統(tǒng)給的分享的代碼,官網的demo中有,直接copy來
?把以上所有的圖片(除了第一個圖)拼起來就是一個完整的分享的代碼示例了,里包含了按照系統(tǒng)定義的分享(QQ好友,QQ空間,微信好友)和自定義分享(微信朋友圈,其實想分享什么就分享什么,比較任性,哈哈哈),如果需要定義其他的分享內容的話只需要將相應的內容進行替換然后再把下圖中標記出來的替換成自己要分享的類型即可:
?至此,搞定所有!
?--------------------------------------更新-----------------------------------
?如果僅僅只需要分享一張圖片而不是普通的鏈接形式的話,就按如下圖修改即可:
只需要注意我標紅的部分
?和普通的分享一樣,只是把mediaType從news改成 image就行了,其他的不需要修改,這樣就可以僅僅只分享一張圖片了。