Question

I know there's a similar question MPMusicPlayerController stops sending notifications, but the answer to that question doesn't solve this problem.

I'm using iOS 4, and this happens on both multitasking-enabled devices and non-multitasking devices. I've tested on iPhone 4, iPhone 3GS, iPod touch 2G, and iPod touch 1G.

I have a project just for testing this problem. It uses MPMusicPlayerController to control iPod music playback, and gets notifications when the nowPlaying item changes, so it can update the artwork, artist, and title. It works fine when you first launch it. But if you do an iTunes sync, which I believe quits the iPod.app on the device, and return to my app, the app no longer gets notifications from the MPMusicPlayerController, so it doesn't update the Now Playing Item display.

The project also lets you select a playlist from your iPod library to start playing. It also stops working after sync. It still can get a list of playlists, but trying to queue them in the iPod music player doesn't do anything.

Releasing the old instance of MPMusicPlayerController doesn't work. Unregistering and re-registering for notifications doesn't work. It seems to be a problem with the IPC between the app and the iPod.app. The only way to fix it is to kill my app and relaunch it.

Anybody else having this problem?

Was it helpful?

Solution

I'm having the exact same problem and haven't been able to fix it properly, though I did come up with a temporary solution that's better than leaving my app stuck in an unusable state:

I call exit(0) in my handler for MPMediaLibraryDidChangeNotification, so at least my users won't be stuck unable to do anything wondering how to fix it.

OTHER TIPS

I'd try re-setting the AVAudioSession category to AVAudioSessionCategorySoloAmbient and re-activating the session.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top