Обратите внимание, что если вам это нужно в ситуации развертывания, подумайте о том, чтобы использовать Java WebStart (с версией «ondisk», а не сетевой, возможно в Java 6u10 и более поздней версии), поскольку он позволяет вам указать различные аргументы JVM в кросс-платформенном способе.
В противном случае вам понадобится специальная пусковая установка операционной системы, которая задает нужные вам аргументы.
Да, используйте ALAssetsLibrary → теперь называется PHAsset.
Вы должны получить NSData gif, а не UIImage (потому что UIImage получит только первый кадр.)
Так что в принципе вы делаете что-то вроде этого:
Вы получаете актив
let requestOptions = PHImageRequestOptions()
requestOptions.isSynchronous = true // adjust the parameters as you wish
PHImageManager.default().requestImageData(for: asset, options: requestOptions, resultHandler: { (imageData, UTI, _, _) in
if let uti = UTI,let data = imageData ,
// you can also use UTI to make sure it's a gif
UTTypeConformsTo(uti as CFString, kUTTypeGIF) {
// save data here
}
})
Ресурс: PHAsset