iOS Music アプリケーションと同じ方法で iPod ライブラリを検索するにはどうすればよいですか? アーティスト、アルバム、曲ごとに結果を返す一般的なクエリを作成したいと考えています。たとえば、Kenny Chesney を検索すると、曲のクエリですべての Kenny Chesney の曲 (および Kenny Chesney を含むすべての曲のタイトルまたはアルバム) が返されます。このクエリと各プロパティの述語 (曲のタイトル、アルバム)タイトル、アーティスト名)、空の配列が返されます。
これは、私が達成しようとしていることをよりよく理解するためのコードです。
MPMediaPropertyPredicate *songPredicate =
[MPMediaPropertyPredicate predicateWithValue:searchText
forProperty:MPMediaItemPropertyTitle
comparisonType:MPMediaPredicateComparisonContains];
MPMediaPropertyPredicate *albumPredicate =
[MPMediaPropertyPredicate predicateWithValue:searchText
forProperty:MPMediaItemPropertyAlbumTitle
comparisonType:MPMediaPredicateComparisonContains];
MPMediaPropertyPredicate *artistPredicate =
[MPMediaPropertyPredicate predicateWithValue:searchText
forProperty:MPMediaItemPropertyArtist
comparisonType:MPMediaPredicateComparisonContains];
MPMediaQuery *songsQuery = [MPMediaQuery songsQuery];
[songsQuery addFilterPredicate:songNamePredicate];
[songsQuery addFilterPredicate:artistNamePredicate];
[songsQuery addFilterPredicate:albumNamePredicate];
NSLog(@"%@", [songsQuery items]);
各述語で個別にクエリを実行することでこれが機能していますが、これは非常に非効率的です!