applicationWillTerminate и background: ужасно запутанный - PullRequest
1 голос
/ 10 июля 2010

Я понимаю, что applicationWillTerminate больше не вызывается в iOS4, практически. Но у меня такая ситуация:

  • моя аудиокнига переходит в фоновый режим и продолжает воспроизводить звук;
  • до версии 3.x SDK Я сохранил точку, в которой слушали файл MP3, в приложенииWillTerminate;
  • теперь мне сказали сохранить это сохранение в applicationWillTerminate (для iPhone 3G) и реализовать тот же метод в applicationDidEnterBackground: но это сохраняет НЕ точку, в которой пользователь находился в конце, а только точку, когда он вошел в фон. .

Но какой сейчас момент или, лучше, вызванный метод, когда пользователь выходит из приложения из дока приложения? Это существует?

ApplicationWillTerminate вызывается, когда есть проблема с памятью, но на самом деле я не могу понять, что происходит, когда пользователь сам закрывает приложение.

Я повторяю: applicationDidEnterBackground мне не помогает, потому что, когда пользователь входит в фоновый режим, он может оставаться в этом положении в течение длительного времени, слушая аудиокнигу, и когда он снова запускает приложение, после того, как это закрыто, я имею в виду Он найдет положение аудиофайла, когда войдет в фоновый режим…

Я действительно запутался ...

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 10 июля 2010

Вы должны автоматически сохранить место воспроизведения в applicationWillResignActive:, applicationDidEnterBackground: независимо от того, продолжает ли звук воспроизводиться или нет.Затем поместите еще одно сохранение в applicationWillTerminate.Таким образом, последнее место воспроизведения сохраняется независимо от того, что будет дальше.Следующее событие просто перезаписывает сохраненное место воспроизведения, чтобы обновить его.

Еще лучшим вариантом было бы, чтобы сам объект аудиопроигрывателя запускал сохранение всякий раз, когда оно прерывается, например, [AVAudioPlayerDelegate audioPlayerBeginInterruption:] или подобное.Это может потребовать дополнительной работы, но это гарантирует, что место воспроизведения всегда сохранялось независимо от причины прерывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...