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