我有一个可以很好地运行的iOS应用程序,除了登录屏幕的奇怪问题。
应用程序通过向后端发送凭据登录。成功登录后,会向该应用程序返回一个令牌,该应用程序会将该令牌用于所有将来的请求。令牌的使用寿命很长。
基本上,我希望用户登录,直到他明确注销。
问题是,经过一段时间不活动后,当我转到应用程序时,它已回到登录界面。
我觉得这很奇怪。正如我所提到的,令牌长时间有效,即使只是在一段时间不活动后切换到应用程序也不会触发任何与后端的通信。
所以我想知道它是否与视图层次结构有关?登录屏幕显示 - 成功登录 - 一个模态控制器,然后处理从那时起的所有内容(它是纸质折叠菜单控制器:https://github.com/honcheng/PaperFoldMenuController)。
有什么想法吗?我觉得我忽略了一些非常简单的事情......
答案 0 :(得分:3)
我想到的是iOS从内存中清除App数据。再次重新启动应用,这会导致您的应用重新初始化。
您应该在以下方法中实现一些逻辑来存储您的凭据和在应用启动时重复使用它们:
– application:willFinishLaunchingWithOptions:
– application:didFinishLaunchingWithOptions:
– applicationDidBecomeActive:
– applicationWillResignActive:
– applicationDidEnterBackground:
– applicationWillEnterForeground:
– applicationWillTerminate:
– applicationDidFinishLaunching:
我建议在– applicationWillResignActive:
中存储用户凭据并清除– applicationWillTerminate:
希望有所帮助:)