这是一个边缘用例,但它提出了一个很好的问题。干得好:
我正在为 iPhone 开发一款游戏,当出现中断时我需要暂停游戏。如您所料,我使用中断处理程序applicationWillResignActive:
applicationDidEnterBackground:
applicationWillEnterForeground:
并applicationDidBecomeActive:
暂停和恢复我的游戏、保存游戏进度等。
我在以下情况下遇到问题:
- 游戏正在运行,我做了一个多任务中断(双击主页按钮)。
applicationWillResignActive:
叫,游戏暂停,一切都很棒。- 然后,在多任务栏打开的情况下,我执行三次主页单击中断(请参阅设置->常规->可访问性->三次主页单击并选择“询问”选项)。一个选项弹出窗口滑入多任务栏的顶部,应用程序中没有调用中断处理程序。
- 我取消选项弹出。
applicationDidBecomeActive:
调用时,游戏会在多任务栏仍然打开时继续。这很奇怪。 - 我用另一个主页按钮双击关闭了多任务栏,没有调用中断处理程序。
山姆希尔在这里发生了什么???我见过其他游戏(例如间谍鼠标)似乎可以正确处理同一系列的中断。有谁知道是否有另一种方法可以从操作系统捕获系统事件,从而能够更精确地处理中断?那,还是我错过了一些明显的东西?
任何帮助或见解将不胜感激。提前致谢!