デバイスのiPodライブラリの曲のコンテンツでAVPlayerを初期化しようとしています。ルートコントローラーのviewDidLoadに次のコードがあります(テストアプリに抽出して分離しました)。
MPMediaQuery* query = [MPMediaQuery songsQuery];
MPMediaItem* firstItem = [query.items objectAtIndex:0];
NSURL* url = [firstItem valueForKey:MPMediaItemPropertyAssetURL];
AVPlayerItem* playerItem = [[AVPlayerItem alloc] initWithURL:url];
self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];
[self.player play];
コードは、アセットURLを取得するためにfirstItemでvalueForKeyを呼び出す行で、常に次の例外をスローします。
*キャッチされなかった例外'NSUnknownKeyException'が原因でアプリを終了しています。理由:'[valueForUndefinedKey:]:このクラスはキーassetURLのキー値コーディングに準拠していません。*最初のスローコールスタック:
コードは私にはかなり簡単に思えますが、ここで何が欠けているのかわかりません。どんな助けでも素晴らしいでしょう。これはiPhone4SのiOS5.1です。iTunes Matchを有効にして、ローカル音楽のみのデバイスで試してみましたが、同じ結果になりました。