Guardar UIImage a Photo Album con writeImageToSavedPhotosAlbum

Estoy intentando save un UIImage a Photo Album. He probado varios methods, el último es:

-(IBAction)captureLocalImage:(id)sender{ [photoCaptureButton setEnabled:NO]; // Save to assets library ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library writeImageToSavedPhotosAlbum: imageView.image.CGImage metadata:nil completionBlock:^(NSURL *assetURL, NSError *error2) { // report_memory(@"After writing to library"); if (error2) { NSLog(@"ERROR: the image failed to be written"); } else { NSLog(@"PHOTO SAVED - assetURL: %@", assetURL); } runOnMainQueueWithoutDeadlocking(^{ // report_memory(@"Operation completed"); [photoCaptureButton setEnabled:YES]; }); }]; } 

imageView es un UIImageView que contiene la image que quiero save. En el logging obtuve "PHOTO SAVED – assetURL: (nulo)" y la foto no se guarda en la biblioteca.

¿Qué estoy haciendo mal?

solo usa esta línea inferior para save la image en tu biblioteca de fotos

 UIImageWriteToSavedPhotosAlbum(imageView.image,nil,nil,nil); 

🙂

Vea esta muestra … que explica cómo save fotos usando la biblioteca de resources.

Incluso puedes usar …

 UIImageWriteToSavedPhotosAlbum(UIImage *image, id completionTarget, SEL completionSelector, void *contextInfo); 

cehck su enlace ¿Cómo save la foto en la biblioteca fotográfica de iPhone?

Estoy usando GPUImage, Aparentemente hay algún tipo de problema con la biblioteca en sí.

El código de arriba está funcionando. Si desea leer más sobre este problema:

GPUImagePicture con imageFromCurrentlyProcessedOutput no obtiene UIImage

Desde iOS 8.1, el framework UIKit tiene la function UIImageWriteToSavedPhotosAlbum () como dijo vishy.

Lo uso de esta manera:

  UIImageWriteToSavedPhotosAlbum(myImage, self, "image:didFinishSavingWithError:contextInfo:", nil) 

y entonces

 func image(image: UIImage, didFinishSavingWithError error: NSError?, contextInfo:UnsafePointer<Void>) { // check error, report image has been saved, ... } 

Cuando toma una foto de la camera, puede save la image en el delegado del selector:

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info valueForKey:UIImagePickerControllerEditedImage]; [library writeImageToSavedPhotosAlbum:image.CGImage metadata:[info objectForKey:UIImagePickerControllerMediaMetadata] completionBlock:^(NSURL *assetURL, NSError *error) { ... }]; [picker dismissViewControllerAnimated:YES completion:nil]; }