我有一个包含登录会话的应用程序。当应用程序暂停时(iOS 4),我保存当前时间,如果下一次应用程序变为活动状态是在暂停时间后 15 分钟内,我希望它恢复。否则我希望它返回登录屏幕,因为会话已过期。
这是我现在正在编写的实现它的内容:
在应用程序委托的 applicationDidBecomeActive 中,我检查时间并在需要时显示登录屏幕(模态)。但是问题是,如果应用程序在暂停时显示 UIAlertView 或 UIActionSheet,当我显示登录屏幕时它不会自动关闭它。然后 UIAlertView 或 UIActionSheet 将出现在它根本不属于的登录屏幕上。我知道我可以注册每个 UIAlertView 和 UIActionSheet 以收听 applicationDidBecomeActive 并在需要时关闭,但由于我的应用程序中有很多它们,如果我可以避免这种情况真的很方便。
我想知道是否有一种方法可以关闭所有活动视图,即使以模态方式呈现另一个视图控制器,它也会保留在屏幕上。
或者是否有更好的方法来处理 iOS 4 中的会话超时?