O'Reilly logo

iOS 5 Programming Cookbook by Vandad Nahavandipoor

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

11.4. Storing Photos in the Photo Library

Problem

You want to be able to store a photo in the user’s photo library.

Solution

Use the UIImageWriteToSavedPhotosAlbum procedure:

- (void) imageWasSavedSuccessfully:(UIImage *)paramImage didFinishSavingWithError:(NSError *)paramError contextInfo:(void *)paramContextInfo{ if (paramError == nil){ NSLog(@"Image was saved successfully."); } else { NSLog(@"An error happened while saving the image."); NSLog(@"Error = %@", paramError); } } - (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ NSLog(@"Picker returned successfully."); NSLog(@"%@", info); NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType]; if ([mediaType isEqualToString:(__bridge NSString *)kUTTypeImage]){ UIImage *theImage = nil; if ([picker allowsEditing]){ theImage = [info objectForKey:UIImagePickerControllerEditedImage]; } else { theImage = [info objectForKey:UIImagePickerControllerOriginalImage]; } SEL selectorToCall = @selector(imageWasSavedSuccessfully:didFinishSavingWithError:contextInfo:); UIImageWriteToSavedPhotosAlbum(theImage, self, selectorToCall, NULL); } [picker dismissModalViewControllerAnimated:YES]; } - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ NSLog(@"Picker was cancelled"); [picker dismissModalViewControllerAnimated:YES]; } - (void)viewDidLoad{ [super viewDidLoad]; if ([self isCameraAvailable] && [self doesCameraSupportTakingPhotos]){ UIImagePickerController ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required