tags:

views:

124

answers:

2

i want to save an image from camera or already saved image to photo library in iphone. Here i implemented a code but i cant implement it on button click moreover its getting crash. I am very new to iphone programming side. Please give some help.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info:(id)sender{
    UIImage *selectedImage;
    NSURL *mediaUrl;

    mediaUrl = (NSURL *)[info valueForKey:UIImagePickerControllerMediaURL];
    if (mediaUrl == nil)
    {
        selectedImage = (UIImage *) [info valueForKey:UIImagePickerControllerEditedImage];
        if (selectedImage == nil)
        {
            selectedImage = (UIImage *) [info valueForKey:UIImagePickerControllerOriginalImage];
            NSLog(@"Original image picked.");
        }
        else
        {
            NSLog(@"Edited image picked.");
        }
    }
    else
    {
        NSLog(@"Video picked. Not yet implemented.");
    }

    [picker dismissModalViewControllerAnimated:YES];
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

    if((UIButton *) sender == savePhotoBtn) {
        UIImageWriteToSavedPhotosAlbum(selectedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
    }
}
A: 

Please help me to find error

Are you sure the code is getting called on button click? I see you haven't implemented the function as an -(IBAction)... might be that's the cause...
msk
A: 

Ya my function is getting exectuted... I checked with printf statment..

// Globaly declared

NSDictionary *info1; UIImagePickerController * picker;

-(IBAction) savePhoto:(id) sender { UIImage *selectedImage; NSURL *mediaUrl; mediaUrl = (NSURL *)[info1 valueForKey:UIImagePickerControllerMediaURL]; if (mediaUrl == nil) { selectedImage = (UIImage *) [info1 valueForKey:UIImagePickerControllerEditedImage]; if (selectedImage == nil) { selectedImage = (UIImage *) [info1 valueForKey:UIImagePickerControllerOriginalImage]; NSLog(@"Original image picked."); } else { NSLog(@"Edited image picked."); } } else { NSLog(@"Video picked. Not yet implemented."); } picker.allowsImageEditing = YES; //if((UIButton *) sender == savePhotoBtn) { UIImageWriteToSavedPhotosAlbum(selectedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); //} printf(" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "); }