Apple Music API - Создайте плейлист

Я изучал API Apple Music, чтобы увидеть, какую функциональность я могу использовать в приложении для 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%):

  • список воспроизведения (основная информация: имя, идентификатор) хранится локально на устройстве
  • песни списка воспроизведения также извлекаются из локального хранилища, но если список воспроизведения не был загружен на устройство, он отправляется в Apple, чтобы получить список песен.

Все идет нормально. То, что я хочу знать, это:

  • Есть ли способ создания списка воспроизведения из моего приложения (через API)?

Я знаю, что есть MPMediaPlaylistaddItem а также add метод, но не могу найти способ создания нового плейлиста.

Согласно этой странице это должно быть возможно: https://affiliate.itunes.apple.com/resources/blog/apple-music-api-faq/

Может ли разработчик создавать новые плейлисты на устройстве пользователя с помощью Apple Music API?

Да. API позволяет разрабатывать новые списки воспроизведения на устройстве пользователя.

1 ответ

Решение

Я понял это. Если вы используете следующий код, вы можете создать новый список воспроизведения и выполнить действие с ним.

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!"); 
    }
}];

Документация Apple по всему API сильно отсутствует в плане примера кода и практических примеров!

Другие вопросы по тегам