如何获得MPMediaPlaylist本地化的“已购买”和“在我的iPhone上购买”播放列表?

时间:2011-11-15 12:10:50

标签: ios playlist mpmediaquery

如何设法获取“已购买”和“在我的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;
        }
}

1 个答案:

答案 0 :(得分:1)

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

不幸的是,Apple似乎没有公开任何支持的API,以便让我们知道哪些播放列表是“已购买”的,至少在iOS6及更早版本中是这样。

所以你需要用各种语言检查“已购买”,而不仅仅是当前语言。

我认识的是:

  • 英语:已购买
  • 日语:购入したもの