Вот что сейчас происходит в моем приложении:
Блокировка: нажата кнопка блокировки iPhone -> звук приостановлен
Разблокировка: нажата кнопка разблокировки iPhone -> звук возобновлен -> проведите пальцем для разблокировки -> появляется приложение
Я хочу, чтобы последовательность разблокировки была:
Разблокировка: нажата кнопка разблокировки iPhone -> Сдвиньте, чтобы разблокировать -> звук возобновлен -> появляется приложение
Я использую OS 2.2.1 и AVFoundation Framework, и вот что я уже пробовал:
Я пытался использовать обратные вызовы applicationWillResignActive и applicationDidBecomeActive для AppDelegate, это не работает. Хотя applicationDidBecomeActive вызывается в правильное время (т.е. когда пользователь сдвинулся, чтобы разблокировать устройство), звук возобновляется, как только нажимается кнопка разблокировки (я думаю, это из-за аудиосеансов), поэтому я попытался:
Я реализовал селекторы audioPlayerBeginInterruption и audioPlayerEndInterruption для AVAudioPlayerDelegate, похоже, что эти методы никогда не вызываются (я разместил вызовы журнала). Я уверен, что правильно настраиваю делегата, так как audioPlayerDidFinishPlaying правильно вызывается после завершения воспроизведения аудиофайла.
P.S: Я тестирую на устройстве, если это не было очевидно