1

这是一个边缘用例,但它提出了一个很好的问题。干得好:

我正在为 iPhone 开发一款游戏,当出现中断时我需要暂停游戏。如您所料,我使用中断处理程序applicationWillResignActive: applicationDidEnterBackground: applicationWillEnterForeground:applicationDidBecomeActive:暂停和恢复我的游戏、保存游戏进度等。

我在以下情况下遇到问题:

  1. 游戏正在运行,我做了一个多任务中断(双击主页按钮)。
  2. applicationWillResignActive:叫,游戏暂停,一切都很棒。
  3. 然后,在多任务栏打开的情况下,我执行三次主页单击中断(请参阅设置->常规->可访问性->三次主页单击并选择“询问”选项)。一个选项弹出窗口滑入多任务栏的顶部,应用程序中没有调用中断处理程序。
  4. 我取消选项弹出。 applicationDidBecomeActive:调用时,游戏会在多任务栏仍然打开时继续。这很奇怪。
  5. 我用另一个主页按钮双击关闭了多任务栏,没有调用中断处理程序。

山姆希尔在这里发生了什么???我见过其他游戏(例如间谍鼠标)似乎可以正确处理同一系列的中断。有谁知道是否有另一种方法可以从操作系统捕获系统事件,从而能够更精确地处理中断?那,还是我错过了一些明显的东西?

任何帮助或见解将不胜感激。提前致谢!

4

0 回答 0