¿Cuáles son las configuraciones AVFoundation AVCaptureDevice para la aplicación de camera en el iPhone?

Me preguntaba cuál es la configuration de AVCaptureDevice para la aplicación de camera en el iPhone. Específicamente, AVCaptureExposureMode, AVCaptureFocusMode y AVCaptureWhiteBalanceMode. Estoy tratando de hacer una camera personalizada y por alguna razón no puedo hacer que la iluminación de la foto cambie correctamente al enfocar. Configuro el ExposurePointOfInterest y el FocusPointOfInterest para mi camera, pero por alguna razón parece que la camera enfoca correctamente, pero la iluminación no se enfoca donde toco. Cuando toco en un área oscura, no se ilumina como en la aplicación de la camera. ¿Hay alguna configuration que olvide establecer? Aquí está mi código para enfocar la camera.

CGPoint touchPoint = [gesture locationInView:collectView]; float focus_x = touchPoint.x / collectView.frame.size.width; float focus_y = touchPoint.y / collectView.frame.size.height; NSError *tError = nil; NSLog(@"previous: %.2f, %.2f", backCamera.focusPointOfInterest.x, backCamera.focusPointOfInterest.y); if (isFrontCamera) { focus_x = collectView.frame.size.width - focus_x; //the view is mirronetworking for the front camera if ([frontCamera lockForConfiguration:&tError]) { if ([frontCamera isExposurePointOfInterestSupported]) { [frontCamera setExposurePointOfInterest:CGPointMake(focus_x, focus_y)]; if ([frontCamera isExposureModeSupported:AVCaptureExposureModeAutoExpose]) { [frontCamera setExposureMode:AVCaptureExposureModeAutoExpose]; } } if ([frontCamera isFocusPointOfInterestSupported]) { [frontCamera setFocusPointOfInterest:CGPointMake(focus_x, focus_y)]; if ([frontCamera isExposureModeSupported:AVCaptureExposureModeAutoExpose]) { [frontCamera setExposureMode:AVCaptureExposureModeAutoExpose]; } } if ([frontCamera isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeAutoWhiteBalance]) { [frontCamera setWhiteBalanceMode:AVCaptureWhiteBalanceModeAutoWhiteBalance]; } [frontCamera unlockForConfiguration]; } else { NSLog(@"Couldn't change focus point:%@",tError); } } else { if ([backCamera lockForConfiguration:&tError]) { if ([backCamera isExposurePointOfInterestSupported]) { [backCamera setExposurePointOfInterest:CGPointMake(focus_x, focus_y)]; if ([backCamera isExposureModeSupported:AVCaptureExposureModeAutoExpose]) { [backCamera setExposureMode:AVCaptureExposureModeAutoExpose]; } } if ([backCamera isFocusPointOfInterestSupported]) { [backCamera setFocusPointOfInterest:CGPointMake(focus_x, focus_y)]; if ([backCamera isFocusModeSupported:AVCaptureFocusModeAutoFocus]) { [backCamera setFocusMode:AVCaptureFocusModeAutoFocus]; } } if ([backCamera isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeAutoWhiteBalance]) { [backCamera setWhiteBalanceMode:AVCaptureWhiteBalanceModeAutoWhiteBalance]; } [backCamera unlockForConfiguration]; } else { NSLog(@"Couldn't change focus point:%@",tError); } } 

Este documento tiene muchas cosas y responderá parcialmente a su pregunta.

Espero que esto ayude un poco ya que no podemos decir el valor de todas las properties para la aplicación Camera.