MPMediaItem no se reproduce en AVAudioPlayer utilizando MPMediaItemPropertyAssetURL

Tengo este código para encontrar y reproducir un MPMediaItem:

MPMediaPropertyPnetworkingicate *pnetworkingicate = [MPMediaPropertyPnetworkingicate pnetworkingicateWithValue:self.persistentIDOfSongToPlay forProperty:MPMediaItemPropertyPersistentID comparisonType:MPMediaPnetworkingicateComparisonContains]; NSSet *pnetworkingicateSet = [NSSet setWithObject:pnetworkingicate]; MPMediaQuery *searchQuery = [[MPMediaQuery alloc] initWithFilterPnetworkingicates:pnetworkingicateSet]; NSArray *queryResults = [searchQuery items]; NSLog(@"count: %i", queryResults.count); MPMediaItem *item = [queryResults objectAtIndex:0]; NSLog(@"item: %@", item); NSURL *itemURL = [item valueForProperty:MPMediaItemPropertyAssetURL]; NSLog(@"url: %@", itemURL); NSError *error; AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:itemURL error:&error]; [audioPlayer prepareToPlay]; [audioPlayer play]; NSLog(@"error: %@", error); 

Mi logging:

 count: 1 item: <MPConcreteMediaItem: 0x200b0870> 12385304089059716916 url: ipod-library://item/item.m4a?id=-6061439984649834700 error: (null) 

Pero el audio no se reproduce. Tengo volumen activado, y otro AVAudioPlayer, que realiza una function diferente, reproduce bien su audio más adelante.

El AVAudioPlayer debe declararse como una propiedad o ivar para que sobreviva después de que se finalice el método.