2012-08-02 106 views
1

我對iOS開發非常陌生。這是我的第一個應用程序,我遇到了很大的麻煩。我不知道如何從RestKit開始。我試圖在過去3周內在我的iOS應用程序中實施RestKit身份驗證。我四處尋找了許多解決方案,但每個人都有不同的方法,因此無法提取哪些對我有用。iOS RestKit身份驗證

我已經準備好了Web服務,這已經在我的Android應用程序中使用了。現在我想要爲iOS使用相同的Web服務。

所以進行身份​​驗證,我有一個登錄服務這需要用戶名和密碼作爲參數。它返回一個布爾值值(不是JSON或XML,但只是true或false)。 所以我沒有找到任何解決辦法來處理來自web服務器的布爾類型的響應。

如果有人能幫我解決這個問題。如果有人已經實施了類似的行爲,那麼請幫助我如何開始休息套件。即如何發送請求以及如何訪問服務器發送的響應。

我提供了一段我試圖實現的代碼。

RKURL * baseUrl = [RKURL URLWithBaseURLString:@"https://webserver.org/login"]; 

RKObjectManager * objectManager = [RKObjectManager objectManagerWithBaseURL:baseUrl]; 

objectManager.client.username = txtUserName.text; 
objectManager.client.password = txtPassword.text; 
objectManager.client.authenticationType = RKRequestAuthenticationTypeHTTPBasic; 
objectManager.client.disableCertificateValidation = YES; 

[objectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@?%@", [baseUrl  resourcePath], nil] delegate:self]; 

在此先感謝, 任何形式的幫助將不勝感激。

+0

這是什麼樣的網絡服務?它只返回一個單詞(true或false)?你將如何處理這個錯誤?問題不在於Restkit,它是您的Web服務。你是否在控制你的網絡服務器響應? – 2012-08-02 07:22:34

+0

感謝您的答覆..但我在我的Android應用程序中使用相同的Web服務。它運作良好。那麼我的Web服務應該返回什麼,無論是JSON還是XML? – 2012-08-02 15:00:59

回答

1

如果您的後端沒有返回對象(xml或json),則無需使用RKObjectManager。相反,請嘗試直接發送請求RKClientget:queryParameters:delegate:選擇器,與RKObjectManager相比,您可以獲得較低級別的API。

此外,你說你的WS以用戶名和密碼作爲輸入 - 如果你在RKClient上設置了用戶名和密碼屬性,憑證將被用於基本的HTTP驗證。 queryParameters字典應該包含您的Web服務的任何輸入參數。

實施例:

[[RKClient sharedClient] get:myResource queryParameters:params delegate:self]; 

一定要實現委託

- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response 

更多細節請參考documentation

+0

感謝您的回覆.. 在閱讀Paul de Lange的評論後,我只想確認是否可以通過RKClient處理布爾類型的響應。 如果您有任何示例代碼或我可以參考的任何鏈接.. 將非常感謝... – 2012-08-02 14:55:45