Detectando o tipo de interrupção do iPhone

Eu posso detectar que o iPhone foi para o sono e voltou do sono, usando o applicationWillResignActive e applicationDidBecomeActive. Mas como posso descobrir que tipo de interrupção foi. Eu estou fazendo um aplicativo de áudio player, e preciso manter o áudio tocando quando o iPhone vai dormir (o que eu sei fazer). Mas eu preciso interromper o áudio quando uma mensagem, alarme ou interrupção de bateria fraca ocorre. Também preciso retomar o áudio quando o evento terminar.

Então, como faço para diferenciar essas diferentes interrupções?

questionAnswers(2)

yourAnswerToTheQuestion