如何填補友盟分享新浪微博的那些坑

weixin_34087301發表於2016-04-13

前端時間聽人說友盟分享更加簡單、專業一些,然後我就開始嘗試通過友盟來寫一個分享的demo,因為,新浪微博分享是不要真機測試也能進行分享的,所以,在毫不知情的情況下,慢慢的就走進了那些坑。

 廢話不多說,現在把怎樣實現一個新浪微博的分享給大家演示一遍。希望能給後面的童鞋起到一起拋磚引玉的效果。

一:首先,友盟分享要想成功,你得匯入像QQ、微信、新浪微博、簡訊等第三方的白名單,我一開始就是被這個給坑了,拿著友盟的官方文件和demo,就開始埋頭苦幹,結果就是打死也分享不成功,到處問別人,才聽說有要加白名單這回事,這才找到了文件加白名單的地方。


下面那個就是友盟分享文件加白名單的地方,你只需要按照他上面的提示把你的info.plist檔案以source.code的形式開啟,再把那些白名單加進去就行了。

1863813-e5c934d55c4d82fe.png

當然,加入白名單以後,你就算是過了第一關,跳過了一個坑。這個時候,如果你想要給自己的APP瘦身的話,你按照下面的方式去操作


1863813-df9256d78dae125a.png

好,已經過了一關了,想想是不是有點小激動,不過,不要太開心,這只是一個開始。接下來我們就要開始進行新浪微博的分享了,首先你如果想要進行新浪微博的分享,那你就必須得到新浪的官網去註冊一個應用的appkey 和appsecret,登入網址:http://open.weibo.com,一般申請的時候要填寫你個人所在公司,還有身份證號碼以及身份證正反面照片啥的,這個申請流程,各位童鞋可以自行腦補,反正我當時是嫌麻煩,就用的他官方demo的appkey來用的。反正是用來實驗的,何必那麼認真呢!

這些工作完成以後,我們就要匯入友盟的分享的SDK了,話不用說,大家都應該知道有兩種方法(手動匯入、cocoaPods匯入)你只需要選擇其中一種就好了。兩種方法我都試過了,這裡我推薦使用cocoaPods來匯入,這樣不用自己去配置那些連結庫啥的,不容易出錯。

通過cocoaPods匯入,首先在你終端中今日你分享專案的目錄並且查詢友盟分享當前有那些版本:

1863813-f9d0aa966c311156.png

在這麼多版本中你要選擇比較新的一個版本,我是選擇的4.3這個版本,然後我們就可以在vim中去配置關於友盟的資訊:

1863813-9d2c6ee717f20e0e.png

然後再安裝4.3版本的友盟分享SDK,只要出現了complete就表示完成了。

1863813-c967fcba2f2cb3ea.png

這個時候,我們再到AppDelegate.m檔案中加上兩個標頭檔案

 #import "UMSocial.h"  ---->這個標頭檔案是關於友盟的

#import "UMSocialSinaSSOHandler.h" ----->這個標頭檔案是關於新浪微博的

下面的appkey對應什麼意思都有程式碼,照著這樣寫就行了。

1863813-3911b9688887554c.png

我們在處理新浪微博SSO授權以及微信分享完成以後還要跳轉回當前app來,所以還要加入下面兩端程式碼

1863813-211ebe5c6b90c561.png

在這裡,你還得在你專案的info->URL Types裡面新增一個URL Schemes進去

1863813-0f1fd0ac85eefb32.png

新增完上面的程式碼,AppDelegate.m裡面的程式碼算是全部寫完了,現在你只需要整合分享功能的檢視原始碼UIViewController.m,把如下程式碼複製並貼上到你將彈出一個分享列表的位置後面,例如到響應分享按鈕的方法中呼叫它。並且修改下面的友盟appkey,你要分享的文字、圖片,你要分享到的微博平臺,例如下面寫的是新浪微博、騰訊微博、人人網。

1863813-e392053e01ad3242.png

你如果還想要知道你是否分享成功,你還可以呼叫以下方法

1863813-06bd9e8712d00d7d.png

到這裡,基本上一個完整的新浪微博分享就成功了,但是還有一個最大的坑等著你去填呢,我花了好久才解決的就是這個大坑。因為新浪微博註冊的時候你要上傳你的app的bundle id,所以你當前專案的bundle id必須跟你申請新浪微博的bundle id一致,不然的話,就會發生分享授權不成功,出現閃退的現象。

1863813-b7c1a4b45cacd321.png

相關文章