Я сохраняю изображение с помощью saveImage.
func saveImage (image: UIImage, path: String ) -> Bool{
let pngImageData = UIImagePNGRepresentation(image)
//let jpgImageData = UIImageJPEGRepresentation(image, 1.0) // if you want to save as JPEG
print("!!!saving image at: \(path)")
let result = pngImageData!.writeToFile(path, atomically: true)
return result
}
Новая информация:
Сохранение файла не работает должным образом ( "[-] ERROR SAVING FILE" печатается) -
// save your image here into Document Directory
let res = saveImage(tempImage, path: fileInDocumentsDirectory("abc.png"))
if(res == true){
print ("[+] FILE SAVED")
}else{
print ("[-] ERROR SAVING FILE")
}
Почему функция saveImage не сохраняет изображение? Права доступа?
Старые данные:
В отладочной информации говорится:
!!!saving image at: file:///var/mobile/Applications/BDB992FB-E378-4719-B7B7-E9A364EEE54B/Documents/tempImage
Затем я извлекаю это местоположение, используя
fileInDocumentsDirectory("tempImage")
Результат правильный.
Затем я загружаю файл, используя этот путь
let image = UIImage(contentsOfFile: path)
if image == nil {
print("missing image at: \(path)")
}else{
print("!!!IMAGE FOUND at: \(path)")
}
Путь верен, но сообщение "отсутствует изображение в..". Является ли файл каким-то недосягаемым или не сохраненным? Что может быть причиной такого поведения?
Я тестирую этот код на iphone 4 с ios 7 и iphone 5 с симулятором ios 7.
Изменить: 1. Функция fileInDocumentsDirectory
func fileInDocumentsDirectory(filename: String) -> String {
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent(filename).absoluteString
return fileURL
}