Dheeraj Kaveti
Dheeraj Kaveti

Reputation: 171

Capture image with out saving on Device using UIImagePickerController

Hi is it possible to capture an Image with out saving to ios device .This is a question that is worrying me.

Can any please give me an idea how to achieve it.

Upvotes: 0

Views: 651

Answers (1)

Alfie Hanssen
Alfie Hanssen

Reputation: 17094

Yes it is possible:

- (void)takePhoto
{
    UIImagePickerController * pc = [[UIImagePickerController alloc] init];
    pc.sourceType = UIImagePickerControllerSourceTypeCamera;
    pc.delegate = self;

    pc.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
    pc.allowsEditing = YES;

    [self presentViewController:pc animated:YES completion:^{

    }];
}

#pragma mark - UIImagePickerController Delegate

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissViewControllerAnimated:YES completion:^{
        UIImage * image = [info valueForKey:@"UIImagePickerControllerOriginalImage"];
        self.imageView.image = image;
    }];
}

Edit:

If you want to save the image you can simply save it to the Caches directory (see the apple docs for NSFileManager for info on how to do this, or other stack overflow questions. This is preferred to NSUserDefaults although that would work too.

If you want to simply send it (via email, share, or API upload) you dont have to save it first. You can use the in-memory version that resides in the self.imageView.image property above.

Upvotes: 2

Related Questions