Преобразование MPMediaItemArtwork из iOS 10 в iOS 9
Я обновляю обложку альбома в Центре управления, выполняя это:
let image:UIImage = UIImage(named: title)!
let artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
return image
})
Это прекрасно работает в iOS 10, но я хочу, чтобы мое приложение позволяло пользователям iOS 9 и 10. Всякий раз, когда я делаю это, я получаю сообщение об ошибке
init(boundsSize:requestHandler:) доступен только на iOS 10 или новее
Итак, мне нужно изменить свой код на это
let image:UIImage = UIImage(named: title)!
if #available(iOS 10.0, *) {
let artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
return image
})
} else {
// What goes here??
}
Я не знаю, как это сделать в iOS 9. Как бы я это сделал?
2 ответа
Вы должны использовать MPMediaItemArtwork(изображение: изображение) на iOS 9.
var artwork:MPMediaItemArtwork!
if let image = UIImage(named: imageName) {
if #available(iOS 10.0, *) {
artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
return image
})
} else {
artwork = MPMediaItemArtwork(image: image)
}
}
//use artwork here
До iOS 10, инициализатор для MPMediaArtwork, кроме простого init()
, было init(image:)
,