3

如何使用本地化字符串名称作为播放列表名称来获取“Purchased”和“Purchased on my 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;
        }
}
4

1 回答 1

1

我认为这可能比您预期的要糟糕 - “购买”的语言取决于用户 PC 的语言,而不是 iPhone 设置的当前语言。(当然,如果我将手机的语言更改为日语,“Purchased on ipad”会继续显示该名称。

不幸的是,至少在 iOS6 和更早版本中,Apple 似乎没有公开任何类型的受支持 API 来让我们知道哪些播放列表是“购买的”播放列表。

因此,您确实需要检查每种可能语言的“已购买”,而不仅仅是当前语言。

我认识的有:

  • 英语:购买
  • 日文:购入したもの
于 2012-10-12T11:37:47.860 回答