Вы также можете сделать это без AVFoundation, и это, на мой взгляд, более простой способ реализовать его, используя только UIImagePickerController. Существует 3 условия:
Ниже приведен простой пример того, что вы обычно запускаете после нажатия кнопки
- (IBAction)takePhoto:(id)sender
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
picker.showsCameraControls = NO;
[self presentViewController:picker animated:YES
completion:^ {
[picker takePicture];
}];
}