這可能是我。我可能在做一些愚蠢的事情。我對responseObject感到困惑,因此彙總了我能想到的最簡單的演示。感到困惑AFNetworking responseObject
我想在iOS應用程序中使用AFNetworking 2登錄到遠程服務器以獲取authToken。 我以爲一切工作正常。 我可以登錄並獲得一個AuthToken。
但是,如果我註銷,然後以不同的用戶身份登錄,我似乎得到第一個用戶響應對象,而不是一個新的。
我記錄了一個短片,演示了問題。這顯示iOS模擬器,xCode調試器和Web服務器日誌文件並排。作爲
- 登錄USER1使用在再次跌破
- 登錄細節的演示應用程序爲用戶2下面
步驟來重現
每次嘗試登錄時,我都可以在服務器日誌中看到請求。 正確的請求,正確的電子郵件和密碼正在發佈。 服務器正在返回一個包含authToken的響應數據的201響應。
在第二次登錄時處理*響應時,會使用原始響應對象,而不是新響應來匹配新請求。
我有一個工作演示服務器: 域:apitest.jserve1.com/ 路徑到登錄:/api/v1/session.json
測試用戶帳戶
USER1 @ example.com/user1password
[email protected]/user2password
我有一個演示應用程序,它連接到這個演示服務器,你可以在這裏下載 https://www.dropbox.com/s/zp62sjlb13z3g6q/WrongObjectResponseExample.zip
我是否錯過了一些明顯的東西?愚蠢? 如果是這樣,那麼如果你能告訴我我做錯了什麼,我會非常感激。
更新 - 解決
的問題是,該應用程序是保留先前登錄的Cookie。最後,添加下面的代碼爲我解決了這個問題。
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: networkServerAddress];
for (NSHTTPCookie *cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
通過stackoverflow.com/questions/10984374/how-to-manage-sessions-with-afnetworking
哦,我的,你是絕對正確的。謝謝。更仔細地檢查服務器日誌,我可以看到第一個請求觸及數據庫,第二個請求不是 - 服務器發送緩存的響應。 AFNetworking沒什麼問題。我是愚蠢的。 謝謝。 – Josh