Thanks to Paul Hudson Hacking with Swift
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
if let image = UIImage(named: "example.png") {
if let data = image.pngData() {
let filename = getDocumentsDirectory().appendingPathComponent("copy.png")
try? data.write(to: filename)
}
}
if let image = UIImage(named: "example.png") {
if let data = image.jpegData(compressionQuality: 0.8) {
let filename = getDocumentsDirectory().appendingPathComponent("copy.png")
try? data.write(to: filename)
}
}
The parameter to jpegData() is a float that represents JPEG quality, where 1.0 is highest and 0.0 is lowest.