Определение типа прерывания iPhone

Я могу обнаружить, что iPhone ушел в сон и вернулся из сна, используя приложение WillResignActive и applicationDidBecomeActive. Но как мне узнать, что это было за прерывание? Я делаю приложение аудиоплеера, и мне нужно, чтобы звук воспроизводился, когда iPhone переходит в спящий режим (что я знаю, как делать). Но мне нужно прервать звук, когда происходит сообщение, тревога или прерывание заряда батареи. Также мне нужно возобновить звук после окончания мероприятия.

Итак, как мне различать эти разные прерывания.