如何检查应用程序是否在前台但在特定时间内未访问 - iOS

时间:2016-03-02 10:13:43

标签: ios swift foreground background-foreground

我正在开发一个使用http请求的Swift 2.0中的应用程序。我将校验和值传递给请求。用户登录后,Web服务器将生成此校验和。校验和值一旦不使用3小时就会刷新。由于校验和值的变化,我面临一个问题。问题是,会话过期,用户需要再次登录才能使用该应用程序。

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

当应用程序处于前台并且未被访问(应用程序是理想的)超过3个小时时,会出现问题。

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

1 个答案:

答案 0 :(得分:1)

在视图生命周期中没有方法,如果应用程序处于前台模式最长时间而不导航其他页面则调用该方法。因此设置计时器可以解决您的问题并提示用户使用"会话已过期"警报,当用户点击它时,只需点击Web API并刷新UI。

感谢。