Я сохраняю изображение на диск из полученного push-уведомления. Сначала я попытался использовать статическую функцию, которую я обычно использую в своем приложении, но я не смог сослаться на нее из NotificationService.swift
, который является расширением уведомления.Поэтому я скопировал функцию в файл, чтобы использовать ее, но Xcode застрял в цикле ошибок.Неважно, как я объявляю data
, это приведет к ошибке.Если выполнить исправление с ошибкой 'jpegData(compressionQuality:)' has been renamed to 'UIImageJPEGRepresentation(_:_:)'
, оно выдаст ошибку 'UIImageJPEGRepresentation' has been replaced by instance method 'UIImage.jpegData(compressionQuality:)'
Можете ли вы увидеть, что здесь происходит?Это функция:
func saveImage(imageName: String, image: UIImage) {
guard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return }
let fileName = imageName
let fileURL = documentsDirectory.appendingPathComponent(fileName)
guard let data = UIImageJPEGRepresentation(image, 1) else { return }
guard let data2 = image.jpegData(compressionQuality: 0.75) else {return}
guard let data3 = image.UIImageJPEGRepresentation(compressionQuality: 1) else {return}
//
//Checks if file exists, removes it if so.
if FileManager.default.fileExists(atPath: fileURL.path) {
do {
try FileManager.default.removeItem(atPath: fileURL.path)
print("Removed old image")
} catch let removeError {
print("couldn't remove file at path", removeError)
}
}
do {
try data.write(to: fileURL)
} catch let error {
print("error saving file with error", error)
}
}
Кроме того, почему я не могу ссылаться на исходную статическую функцию как Functions.saveImage
?Большое спасибо как всегда.
Ошибка цикла: