QuickBlox IOS 会话过期续订
Posted
技术标签:
【中文标题】QuickBlox IOS 会话过期续订【英文标题】:QuickBlox IOS session expired renew 【发布时间】:2013-12-18 19:35:39 【问题描述】:这个问题有多个方面,涉及具有登录的应用程序,以及即时消息,即 QBChat。所有这些问题都有点相关。
1)当用户登录时,我创建一个会话,登录QBUser,然后将QBUSer登录到QBChat。常见的做法是,当用户注销 QBChat 时,注销 QBUser 并销毁会话?
2) 目前,当应用程序被发送到后台时,我将用户从 QBChat、QBUSER 注销并销毁他们的会话,当用户返回时,我创建一个新会话并将他们重新登录到所有内容。我这样做是为了确保当应用程序处于后台时用户会话不会过期。有没有其他方法可以在应用程序使用时自动更新会话?
3)最后,这个问题与第二个问题有关,如果我正在使用应用程序并且会话到期,是否有一个回调函数会在会话到期时被调用?因此,如果我连续使用该应用程序 2 小时,并且会话过期,无论如何我可以得到它已过期的指示并手动更新或自动完成?
【问题讨论】:
【参考方案1】:1) 当用户登录时,我创建一个会话,登录 QBUser,然后 将 QBUSer 登录到 QBChat。是常见的做法,当用户登录时 out 退出 QBChat,退出 QBUser 并销毁会话?
是的,这是常见的模式。 你需要知道的两件事:
您可以在 1 个查询中创建会话并登录 http://quickblox.com/developers/ios#A_couple_of_words_about_Authentication_and_Authorization 您不需要退出 QBUser 并销毁会话,您只需销毁会话即可。够了。2)目前,当应用程序被发送到后台时,我登录 用户退出 QBChat,QBUSER 并销毁他们的会话,当 用户回来我创建一个新会话并将他们重新登录到 一切。我这样做是为了确保用户会话不会 当应用程序在后台时过期。有没有 当应用程序在时自动更新会话的其他方式 用吗?
3) 最后,这个问题与第二个问题有关,如果我是 使用应用程序并且会话到期,是否有回调 如果会话到期,将调用的函数?所以如果我使用 连续申请2小时,会话过期就在那里 无论如何,我可以得到它过期的迹象,或者手动 续订还是自动完成?
我只做 QBChat 注销。您不需要每次都销毁会话。 如果需要,您可以重新创建会话,而无需之前将其销毁。 要检查会话到期日期时间,请使用
NSDate *sessionExpiratioDate = [QBBaseModule sharedModule].tokenExpirationDate;
【讨论】:
所以我有新的 SDK 1.8 但是我得到一个编译器错误,QBBaseModule 未声明。为了更新我的 SDK,我只是删除了之前的 SDK,并在 BuildPhase / 链接二进制文件中添加了新的 QuickBlox.framework。我错过了什么吗?以上是关于QuickBlox IOS 会话过期续订的主要内容,如果未能解决你的问题,请参考以下文章
创建会话 IOS 时出现 Quickblox“错误时间戳”错误
在 iOS 中与 REST Api 进行会话时出现 QuickBlox“意外签名”错误