MPMediaItemPropertyAssetURL returnnant null uniquement pour iPhone 5s

J'ai utilisé le code suivant pour extraire l'URL de l'object MPMediaItem renvoyé par le MPMediaItemPickerController afin que je puisse copyr les files musicaux d'une bibliothèque iTunes iTunes vers le dossier documents pour le traitement, mais sur l'iPhone 5s je reçois toujours un null valeur de MPMediaItemPropertyAssetURL, mais quand je cours le même code sur iPhone 4 ou iPhone 5 cela fonctionne comme il devrait renvoyer une URL correcte.

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection { [self dismissViewControllerAnimated:YES completion:nil]; if(mediaItemCollection){ MPMediaItem *mediaItem = (MPMediaItem *)[mediaItemCollection.items objectAtIndex: 0]; NSSsortingng *songTitle = [mediaItem valueForProperty: MPMediaItemPropertyTitle]; NSLog(@"songtitle: %@", songTitle); NSURL *assetURL = [mediaItem valueForProperty: MPMediaItemPropertyAssetURL]; NSLog(@"%@", assetURL); } } 

J'ai essayé de supprimer arm64 des architectures valides et de build seulement pour armv7 et armv7s, mais cela n'a pas résolu ce problème.

Est-ce que quelqu'un sait pourquoi cela se produit et comment je peux le réparer ou s'il y a une solution de contournement que je peux utiliser? Je dois être capable de copyr de la musique de la bibliothèque musicale de l'iPhone vers le dossier des documents afin que je puisse traiter la musique correctement pour une application DJ.

Merci

J'ai découvert que le problème était la chanson que j'essayais d'get la propriété MPMediaItemPropertyAssetURL pour n'était pas réellement sur mon appareil. Il a été répertorié dans la médiathèque, mais était encore dans iCloud. Une fois que j'ai téléchargé la chanson sur mon appareil, le problème a été résolu. Même si je n'aime pas répondre à ma propre question, j'ai suivi le conseil de Jeroen pour qu'il puisse, je l'espère, aider les autres.

Nous pouvons append un filter qui n'affiche pas les éléments iCloud avec

 [mediaPicker setShowsCloudItems:NO];