我正在尝试实现保存和恢复应用程序状态。我收集到了
app delegate shouldSaveApplicationState:
中的方法保存状态并为视图控制器提供恢复ID,
当应用程序返回活动状态时,application:shouldRestoreApplicationState:
会将您带回到您所在的视图控制器。
然而,如果我故意使用主页按钮关闭应用程序 - 例如,打个电话或在野生动物园检查一些东西 - 当我回到应用程序时,一瞬间显示我去过的地方但然后从初始视图控制器重新启动。
这对用户来说是不和谐的,因为用户需要回到他/她所处的所有麻烦,这绝对是次优的。
当我将application:shouldRestoreApplicationState:
设置为在触发时注销时,看起来在这种情况下它不会被触发 - 显然是设计为question个状态。
有没有办法强制调用此方法以检索我的状态?或者,如果您主动离开应用程序而不是被中断(例如来电),您如何回到应用程序中的位置?
感谢您的任何建议。
答案 0 :(得分:1)
这对我来说是一个错误。在按下主页按钮后,方法application:shouldRestoreApplicationState:
未在简历上触发的原因是appDelegate
文件中名为applicationDidBecomeActive:(UIApplication *)application
的方法在生命周期的早期触发,并将应用程序重定向到启动页面。我通过将生成周期中的恢复方法之后的applicationDidBecomeActive
中的麻烦重定向移动到applicationDidFInishLaunching
来解决此问题。这允许shouldRestoreApplicationState
触发。
值得注意的是,按下主页按钮不是强制退出,这是恢复方法触发的一个例外。