Сообщения о сбоях в приложениях iPhone не сообщаются правильно приложению - PullRequest
1 голос
/ 30 ноября 2011

Это случай дополнительного использования, но это хороший вопрос.Вот, пожалуйста:

Я разрабатываю игру для iPhone, в которой мне нужно приостановить игру, когда происходят перерывы.Я использую обработчики прерываний applicationWillResignActive: applicationDidEnterBackground: applicationWillEnterForeground: и applicationDidBecomeActive:, чтобы приостановить и возобновить игру, сохранить прогресс в игре и т. Д., Как и следовало ожидать.

У меня возникли проблемы в следующем сценарии:

  1. Игра запущена, и я выполняю многозадачное прерывание (двойная кнопка home).
  2. applicationWillResignActive: называется, игра приостанавливается, все замечательно.
  3. Затем, с открытой панелью многозадачности, я делаю тройное прерывание по домашнему щелчку (см. Настройки-> Общие-> Доступность-> Тройной дом нажмите и выберите 'Спроси вариант).Всплывающее окно опций перемещается поверх панели многозадачности, в приложении не вызываются обработчики прерываний.
  4. Я отменяю всплывающее окно опций.applicationDidBecomeActive: вызывается, игра возобновляется, пока панель многозадачности еще открыта.Это странно.
  5. Я закрываю панель многозадачности другим двойным щелчком по кнопке home, обработчики прерываний не вызываются.

Что здесь происходит с Сэмом Хиллом ???Я видел другие игры (например, Spy Mouse), которые, кажется, правильно обрабатывают эту серию прерываний.Кто-нибудь знает, есть ли другой способ отлавливать системные события из ОС и, таким образом, иметь возможность обрабатывать прерывания с большей точностью?Это или я что-то упускаю очевидное?

Любая помощь или понимание будет принята с благодарностью.Заранее спасибо!

...