2016-03-02 17 views
1

我正在Swift 2.0中开发一个使用http请求的应用程序。我将校验和值传递给请求。该校验和由Web服务器在用户登录后生成。校验和值在未使用3小时后刷新。由于校验和值的变化,我面临一个问题。问题是,会话过期,用户需要再次登录才能使用该应用。如何检查一个应用程序是否在前台但在特定时间内未被访问 - iOS

当应用程序进入后台(最小化)并重新打开时,我正在重新生成applicationDidBecomeActive方法中的校验和。我用applicationDidEnterBackground记下时间。如果指出的时间超过3小时,那么我将重新生成校验和值。在这种情况下它工作正常。

当应用程序处于前景并且未被访问(应用程序非常理想)超过3小时时,会发生此问题。

在这种情况下,我应该在哪里重新生成校验和?有没有任何AppDelegate方法可用于此?

回答

1

视图生命周期中没有任何方法调用应用程序在最长时间段内处于前景模式而无需导航其他页面。所以设置计时器可以解决你的问题,并提示用户“Session Expired”提醒,当用户点击它时,只需点击web API并刷新UI即可。

谢谢。

+0

感谢您的建议..我会试试这个,让你知道结果.. –

相关问题