2016-03-03 4 views
4

У меня проблема, выделенная красным цветом выше. Когда я делаю снимок и нажимаю фотографию, это не позволит мне сохранить фотографию, которую я взял в фотоальбом на моем iPad. Я смотрел на другие способы, но я был новичком в iOS, я не уверен, как исправить эту проблему. Иногда я получаю ошибку sigabrt.сохранение изображения в библиотеке фотографий с помощью Swift 2.0

http://i.stack.imgur.com/Gb7o3.png

+0

Вы реализовали метод обратного вызова? 'func image (image: UIImage, didFinishSavingWithError error: NSError ?, contextInfo: UnsafePointer ) {...}' – Macondo2Seattle

+0

Какова конкретная ошибка, которую вы получаете? Это вырезано из вашего изображения. – mszaro

ответ

9

Вы обеспечили Selector завершения?

... 
UIImageWriteToSavedPhotosAlbum(imageView.image!, self, "image:didFinishSavingWithError:contextInfo:", nil) 
... 



func image(image: UIImage, didFinishSavingWithError error: NSError?, contextInfo:UnsafePointer<Void>) { 
    if error == nil { 
     let ac = UIAlertController(title: "Saved!", message: "Your altered image has been saved to your photos.", preferredStyle: .Alert) 
     ac.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) 
     presentViewController(ac, animated: true, completion: nil) 
    } else { 
     let ac = UIAlertController(title: "Save error", message: error?.localizedDescription, preferredStyle: .Alert) 
     ac.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) 
     presentViewController(ac, animated: true, completion: nil) 
    } 
} 
0

Вы можете использовать это;

@IBAction func downloadButton(_ sender: Any) { 
    let imageRepresentation = UIImagePNGRepresentation(photoView.image!) 
    let imageData = UIImage(data: imageRepresentation!) 
    UIImageWriteToSavedPhotosAlbum(imageData!, nil, nil, nil) 

    let alert = UIAlertController(title: "Completed", message: "Image has been saved!", preferredStyle: .alert) 
    let action = UIAlertAction(title: "Ok", style: .default, handler: nil) 
    alert.addAction(action) 
    self.present(alert, animated: true, completion: nil) 
} 
Смежные вопросы