I found a solution for this.
Declare all your notification receivers in your app delegate, along with
[[MPMusicPlayerController iPodMusicPlayer] beginGeneratingPlaybackNotifications];
Then, initialize a CLLocationManager object and start receiving location changes.
This way, your app will not be suspended even if it goes to the background,
and your appdelegate will keep receiving playbacknotifications.
However, if will only work with applications using GPS features.