Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 苹果音乐API-创建播放列表_Objective C_Mpmediaquery_Itunes Sdk_Apple Music_Mpmedialibrary - Fatal编程技术网

Objective c 苹果音乐API-创建播放列表

Objective c 苹果音乐API-创建播放列表,objective-c,mpmediaquery,itunes-sdk,apple-music,mpmedialibrary,Objective C,Mpmediaquery,Itunes Sdk,Apple Music,Mpmedialibrary,我一直在探索苹果音乐API,看看我可以在iOS应用程序中使用什么样的功能。我已经创建了一个小测试应用程序,它获得了用户的许可,并将我拥有的播放列表(和歌曲)输出到NSLog MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery]; [myPlaylistsQuery setGroupingType:MPMediaGroupingPlaylist]; NSArray *playli

我一直在探索苹果音乐API,看看我可以在iOS应用程序中使用什么样的功能。我已经创建了一个小测试应用程序,它获得了用户的许可,并将我拥有的播放列表(和歌曲)输出到
NSLog

MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
            [myPlaylistsQuery setGroupingType:MPMediaGroupingPlaylist];
            NSArray *playlists = [myPlaylistsQuery collections];
            
            for (MPMediaPlaylist *playlist in playlists) {
                NSLog (@"%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);
                
                NSArray *songs = [playlist items];
                
                for (MPMediaItem *song in songs) {
                    NSString *songTitle =
                    [song valueForProperty: MPMediaItemPropertyTitle];
                    NSLog (@"\t\t%@", songTitle);
                }
            }
从这一点,我可以推断出以下几点(但我不是100%确定):

  • 播放列表(基本信息:名称、id)存储在设备本地
  • 播放列表中的歌曲也会从本地存储器中提取出来,但如果播放列表没有下载到设备上,它会转到苹果公司获取歌曲列表
到目前为止,一切顺利。我想知道的是:

  • 有没有办法从我的应用程序(通过API)创建播放列表
我知道有一个
MPMediaPlaylist
addItem
add
方法,但似乎找不到创建新播放列表的方法

根据本页,应可:

开发者能否使用Apple Music API在用户设备上创建全新的播放列表?

对。API允许开发人员在用户设备上创建新的播放列表


我已经弄明白了。如果使用以下代码,则可以生成新的播放列表并对其执行操作

NSUUID *uuid = [NSUUID UUID]; //uuid for the playlist
[[MPMediaLibrary defaultMediaLibrary] getPlaylistWithUUID:uuid creationMetadata:[[MPMediaPlaylistCreationMetadata alloc] initWithName:@"YOUR PLAYLIST NAME"] completionHandler:^(MPMediaPlaylist * _Nullable playlist, NSError * _Nullable error) {
    NSLog(@"%@", error);

    if (!error) {
        NSLog(@"All ok let's do some stuff with the playlist!"); 
    }
}];

苹果关于整个API的文档在示例代码和实际示例方面严重缺乏

嗨,我知道已经快两年了,但仍然没有objective-c(一个很快的,但我太老了,无法学习一门新语言:)示例应用程序来访问苹果音乐。如果你能以某种方式与我分享你的英雄,你就是我的英雄。如果这不可能,你能在这里帮忙吗?