Я скачал образец AddMusic от Apple, который также использует MPMediaItemArtwork, просто чтобы посмотреть, как они справляются.
В файле MainViewController.m этого проекта эти строки:
// Get the artwork from the current media item, if it has artwork.
MPMediaItemArtwork *artwork = [currentItem valueForProperty: MPMediaItemPropertyArtwork];
// Obtain a UIImage object from the MPMediaItemArtwork object
if (artwork) {
artworkImage = [artwork imageWithSize: CGSizeMake (30, 30)];
}
всегда возвращают изображение размером 55 x 55 в масштабе 1,0.
Я бы сказал, что MPMediaItemArtwork, не соблюдающий запрошенные параметры размера, является ошибкой, которую вы должны отправить через bugreporter.apple.com, хотя у Apple также может быть оправдание, что «55 x 55» - это оптимальный размер для отображенияна iPad и iPhone.
Для изменения размера UIImage тупой силой я бы порекомендовал использовать методы «UIImage + Resize» Тревора Хармана, найденные здесь: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way
И как только вы добавите расширения его категории вваш проект, вы можете сделать желаемое сохранение памяти с помощью простого вызова, как это:
UIImage *albumCover = [artwork imageWithSize:CGSizeMake(128.0f, 128.0f)];
UIImage *resizedCover = [albumCover resizedImage: CGSizeMake(128.0f, 128.0f) interpolationQuality: kCGInterpolationLow];