如何获取本地化"Purchased"和"Purchased on My iPhone"播放列表的MPMedia播放列表?



如何获取"已购买"one_answers"已购买在我的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;
        }
}

我认为它可能比你想象的更糟——"已购买"的语言取决于用户PC的语言,而不是iPhone当前设置的语言。(当然,如果我将手机语言改为日语,"已在ipad上购买"仍会显示该名称。

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

所以你真的需要检查每一种可能的语言的"购买",而不仅仅是当前的语言。

我知道的是:

  • 中文:购买
  • 日语:

相关内容

最新更新