如何设法获取“已购买”和“在我的iPhone上购买”MPMediaPlaylist,使用本地化字符串名称作为播放列表名称:
NSArray *songs;
NSString *name=@"Purchased";
// @TODO
// need to get localized version of this default iOS playlist name
//
MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
NSArray *playlists = [myPlaylistsQuery collections];
NSArray *songs=nil;
for (MPMediaPlaylist *playlist in playlists) {
if( [name isEqualToString:[playlist valueForProperty: MPMediaPlaylistPropertyName]] ) {
songs = [playlist items];
break;
}
}
答案 0 :(得分:1)
我认为这可能比你想象的还要糟糕 - “已购买”的语言取决于用户PC的语言,而不是iPhone设置的当前语言。 (当然,如果我将手机的语言改为日语,“在ipad上购买”会继续显示该名称。
不幸的是,Apple似乎没有公开任何支持的API,以便让我们知道哪些播放列表是“已购买”的,至少在iOS6及更早版本中是这样。
所以你需要用各种语言检查“已购买”,而不仅仅是当前语言。
我认识的是: