MPMediaPickerController does not work in the Simulator. Apple notes this in the "iPod Library Access Programming Guide" under "Hello Music Player". The note says:
Note: To follow these steps you’ll need a provisioned device because the Simulator has no access to a device’s iPod library.
To prevent the assertion you can always check if you can access the do this in your code (code bellow uses ARC and iOS SDK 5.0).
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];
[picker setDelegate:self];
[picker setAllowsPickingMultipleItems:YES];
[picker setPrompt:NSLocalizedString(@"Add songs to play","Prompt in media item picker")];
@try {
[picker loadView]; // Will throw an exception in iOS simulator
[self presentViewController:picker animated:YES completion:nil];
}
@catch (NSException *exception) {
[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Oops!",@"Error title")
message:NSLocalizedString(@"The music library is not available.",@"Error message when MPMediaPickerController fails to load")
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}