iOS開發之山寨版新浪微博小結


  在之前的博客IOS開發之新浪圍脖中獲取微博的內容是使用我自己的access_token來請求的數據,那么如何讓其他用戶也能登陸並獲取自己的微博內容呢?接下來就是OAuth和SSO出場的時候啦。OAuth的全稱為Open Authorization 開發授權,SSO--單點登陸(Single Sign On)。至於其原理是什么,更具體的介紹網上的資料是一抓一大把,在這就不做過多的原理性的概述。當然啦,OAuth和SSO在Web和其他手機終端上應用還是蠻多的,所有這方面的資料也是多的很。

  簡單的說就是可以通過新浪的OAuth把之前access_token換成用戶自己的access_token,從而請求自己微博的內容(因為之前做的的關於新浪微博的東西,所以用到是新浪提供的OAuth)。更詳細的內容請參考新浪對OAuth2.0授權認證,iOS版SDK的GitHub下載如下:https://github.com/sinaweibosdk/weibo_ios_sdk 其中有詳細的使用說明並附有使用Demo.所以sdk的使用在這就不做過多的贅述。可能有的小伙伴會問哪本篇博客要介紹什么東西呢?本篇博客就是被之前的新浪微博加上OAuth授權認證,給之前的博客做一個善后工作。

  1.還是在博客的開頭先來幾張截圖(第一張是沒有登錄時的啟動圖,第二張是獲取授權的頁面,第三張是授權后的頁面,第四張是把之前寫的iOS開發之自定義表情鍵盤(組件封裝與自動布局)整合了進來)這樣的話一個App的基本功能算是有啦。

  2.在今天的博客中沒有大量的代碼,只是對之前博客中的內容的一個應用,如何用新浪的OAuth的SDK,新浪給提供的開發文檔中說明的很詳細了,筆者也是按上面一步步做的,沒有太大問題。上面給出了SDK的下載地址,有興趣小伙伴可以下載一個研究研究。

  

  3.在用戶授權以后,新浪接口或返回一些用戶的信息,其中就有該授權用戶所對應的access_token, 下面是響應代碼,把返回的用戶access_token存入到了NSUserDefaults中,關於NSUserDefault的具體內容請參考之前的博客IOS開發之記錄用戶登陸狀態,在這就不做贅述了。

 1 - (void)didReceiveWeiboResponse:(WBBaseResponse *)response
 2 {
 3     if ([response isKindOfClass:WBSendMessageToWeiboResponse.class])
 4     {
 5         NSString *title = @"發送結果";
 6         NSString *message = [NSString stringWithFormat:@"響應狀態: %d\n響應UserInfo數據: %@\n原請求UserInfo數據: %@",
 7                              response.statusCode, response.userInfo, response.requestUserInfo];
 8        NSLog(@"%@", message);
 9     }
10     else if ([response isKindOfClass:WBAuthorizeResponse.class])
11     {
12         
13         self.wbtoken = [(WBAuthorizeResponse *)response accessToken];
14         
15         if (self.wbtoken != nil) {
16             //獲取userDefault單例
17             NSUserDefaults *token = [NSUserDefaults standardUserDefaults];
18             [token setObject:self.wbtoken forKey:@"token"];
19         }
20     }
21 }

  4.添加我們的自定義鍵盤也挺簡單的,因為之前是用純代碼封裝的自定義鍵盤並留有響應的接口,所有移植到我們的新浪微博上就是一個拷貝粘貼的體力活,關於自定義鍵盤的東西請參考之前的博客iOS開發之自定義表情鍵盤(組件封裝與自動布局),在這就不做贅述。

  這篇博客作為對之前開發的新浪微博做一個總結,記得前面有一篇博客是IOS開發之微信山寨版,其實在這篇博客中只有視圖間的關系,沒有具體的業務邏輯,在接下來的一段時間里要完善山寨版的微信,並加上實時通訊的內容,希望大家繼續關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM