MPMediaItem без иллюстраций при покупке в iTunes

Я разрабатываю медиаплеер iOS, используя iPodMusicPlayer. У меня есть UITableView с селектором MPMediaPickerController.

После покупки песни в магазине iTunes выбранный трек не имеет обложки в iPodMusicPlayer:

MPMediaPlayer* player = [MPMediaPlayer iPodMusicPlayer];
MPMediaItem*item = [player nowPlayingItem];
MPMediaItemArtwork *artwork = [item valueForProperty:MPMediaItemPropertyArtwork];
UIImage *albumCoverArt = [artwork imageWithSize:CGSizeMake(100.0f, 100.0f)];
if(albumCoverArt!=nil) {
   // do something
}
else {
  // nil before sync
}

После синхронизации с iTunes песня показывает обложку.

Поскольку перед синхронизацией проигрыватель iPod показывает обложку, я думаю, что я что-то упускаю в коде при запросе элемента в файл MPMediaLibrary.

Есть идеи?


person loretoparisi    schedule 18.05.2011    source источник
comment
Эта проблема, похоже, исправлена ​​в iOS 5.0. Я проверил это, и теперь, после покупки трека и возврата к вашему приложению, обложка появится.   -  person loretoparisi    schedule 15.11.2011


Ответы (1)


У меня такая же проблема.

Похоже, когда вы покупаете песню в магазине iTunes прямо на своем iPhone, извлечение обложки даст вам пустое изображение.

После синхронизации телефона с iTunes, проблема решается, и тогда вы получите правильное изображение из MPMediaItemArtwork.

Конечно, я бы заподозрил правильное изображение сразу после покупки в iTunes.

person Mark    schedule 30.05.2011
comment
Ты прав. Кроме того, если вы воспроизведете эту песню на проигрывателе iPod, вы увидите обложку в проигрывателе iPod. Итак, мне кажется странным иметь правильную работу для этого MPMediaItem сразу после синхронизации. - person loretoparisi; 31.05.2011