У меня супер странная проблема. Я использую iOS13 MPMediaPickerController
, чтобы получить несколько песен из пользовательской библиотеки apple musi c, чтобы воспроизвести ее через [MPMusicPlayerController applicationMusicPlayer]
.
Теперь с некоторыми не загруженными песнями из некоторых плейлистов, которые у меня есть В мою библиотеку добавлена функция делегата
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
, которая возвращает
mediaItemCollection.items.firstObject
объект типа MPModelObjectMediaItem
, который не может быть воспроизведен игроком. (Я также не могу привести к этому типу, потому что он неизвестен. Также нет документации для этого типа. Кажется, что это закрытый класс внутри среды медиаплеера.)
Я ожидаю тип MPConcreteMediaItem
который поступает для всех загруженных (и всех других облачных элементов, которых нет в плейлистах)
Средство выбора настроено следующим образом
musicPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
musicPicker.showsCloudItems = true;
musicPicker.showsItemsWithProtectedAssets = true;
musicPicker.delegate = self;
musicPicker.allowsPickingMultipleItems = false;
Любые советы, что там происходит?