2014-01-21 30 views
3

當用戶轉到後臺時,我從聊天中註銷用戶。 當用戶從後臺回來時,我再次在聊天中記錄使用情況。Quickblox會話在後臺過期。如何處理它?

這很有效,但並非每次。有時,當用戶保持應用程序在後臺超過2小時,會話超時,它似乎並沒有自動重新驗證,當用戶來自於背景回來,即使有這樣的一段代碼:

[QBSettings enableSessionExpirationAutoHandler:YES]; 

如若應用程序使用enableSessionExpirationAutoHandler自動重新驗證會話/ QB登錄,即使來自後臺?

是否有另一種方法來處理會話過期,而在後臺?任何人都可以請建議我一些想法?

+0

如果答案已經工作爲了你,請標記它。 – Xander

回答

1

任何會話將在最後一次請求QuickBlox後2小時內保持有效。要檢查會話的過期日期使用這個代碼下一個片段:

NSDate *sessionExpiratioDate = [QBBaseModule sharedModule].tokenExpirationDate; 

查閱本指南http://quickblox.com/developers/IOS#A_couple_of_words_about_Authentication_and_Authorization

可以使用此功能,因爲1.8的iOS SDK

http://quickblox.com/developers/IOS#Framework_changelog

+1

感謝伊戈爾,但我想知道的是,如果[QBSettings enableSessionExpirationAutoHandler:YES];是足夠的還是我需要管理會話到期? –

+0

您可以使用它,但這是一箇舊的和未公開的功能,將來可能會更改。我建議手動管理會話過期。 例如,每次都在委託方法applicationWillEnterForeground中執行此操作。 –

+0

謝謝。會這樣做。 –