Я пытаюсь использовать новые API Apple Music от 9.3, чтобы добавить песню в список воспроизведения, созданный моим приложением, без добавления его в библиотеку пользователя.Ошибка при использовании - [MPMediaPlaylist addItemWithProductID: completeHandler:]
Рассмотрите продукт ID 316654632, это песня Lisztomania от Phoenix, в магазине iTunes в США.
Используя следующий код, я могу играть песню
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[musicPlayer setQueueWithStoreIDs:@[@"316654632"]];
[musicPlayer play];
Используя следующий код, я могу добавить песню в библиотеку Apple Music
[[MPMediaLibrary defaultMediaLibrary] addItemWithProductID:@"316654632" completionHandler:^(NSArray<__kindof MPMediaEntity *> * _Nonnull entities, NSError * _Nullable error) {
NSLog(@"%@", error);
}];
Ошибка равна нулю, и я могу см. песню в моей библиотеке.
Но попытка же с плейлистом не работает.
[[MPMediaLibrary defaultMediaLibrary] getPlaylistWithUUID:uuid creationMetadata:[[MPMediaPlaylistCreationMetadata alloc] initWithName:@"Test Playlist"] completionHandler:^(MPMediaPlaylist * _Nullable playlist, NSError * _Nullable error) {
NSLog(@"%@", error);
if (!error) {
[playlist addItemWithProductID:@"316654632" completionHandler:^(NSError * _Nullable error) {
NSLog(@"%@", error);
}];
}
}];
плейлист создается, я могу видеть его в Music.app, но когда я пытаюсь добавить один и тот же идентификатор продукта я играл & добавлен в библиотеку в список воспроизведения, я получаю сообщение об ошибке
Error Domain=MPErrorDomain Code=4 "The requested id could not be found" UserInfo={NSLocalizedDescription=The requested id could not be found}
Но как его не найти, если я успешно добавил один и тот же элемент в свою библиотеку?
ОБНОВЛЕНИЕ
Хорошие новости! Apple установила rdar: // 26408683 на 10.2.1!
Любая удача в поиске решения? – TWilly
@TWilly nope :(Я даже разместил его на форумах Apple dev и не отвечал. – Jota
У меня тоже была эта проблема - используется [MPMediaPlaylist addMediaItems: completionHandler:] как обходной путь. – Dan