2015-04-29 20 views
0

我正在Xcode中開發iOS應用程序,並使用AFNetworking與API交談 - API使用「X-Auth-Token」。因此,當我登錄並將會話令牌存儲在用戶默認值中時,它會完美工作,直到應用程序重新啓動 - 會話令牌因爲某種原因不起作用?X-Auth-Token在1個會話後無效

令牌處於AFNetworking使用像這樣:

NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; 
[params setValue:@"SessionTokenFromUserDefaults" forKey:@"X-Auth-Token"]; 

有沒有人有什麼建議嗎? (PS:重新啓動後使用令牌當我從AFN得到的錯誤是:請求失敗:未經授權(401)

我怎麼能達致這無需在每個會話記錄

非常感謝

回答

0

我記得有那種使用NSURLConnections沒有緩存策略問題 我認爲這是一個thread here,這可能有助於

+0

嗨,我得到這樣的響應:http://pastebin.com/aVL5euzY - 有什麼建議?謝謝 (: – iOSDec

0

這是極有可能是服務器的報告請求失敗:未經授權(401),因爲令牌空。

要調試,您可以添加以下兩行AppDelegate中的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [[AFNetworkActivityLogger sharedLogger] startLogging]; 
    [[AFNetworkActivityLogger sharedLogger] setLevel:AFLoggerLevelDebug]; 
} 

然後你就可以檢查你的日誌請求,看是否令牌實際上已在標題中。

0

我找到了解決我的問題 - 這裏是我使用的:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
[manager.requestSerializer setValue:sessionToken forHTTPHeaderField:@"X-Auth-Token"];