UIImagePickerControllerCameraDeviceFront solo funciona cada dos veces

En mi aplicación estoy intentando utilizar la camera frontal de forma pnetworkingeterminada en un UIImagePicker . Lo sé, parece bastante simple …

 imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront; 

Ahora, la primera vez que inicie mi selector, todo funciona bien y la camera frontal se inicializa, pero cuando se retira el selector y se presenta de nuevo, se usa la camera trasera. De ahí en adelante, si abro y cierro continuamente el selector, la camera utilizada será: frontal, posterior, frontal, posterior, frontal, posterior …

He descartado este código a los conceptos básicos del selector que intentan aislar el problema y persiste. ¿Alguien se ha topado con este problema antes? ¡Cualquier puntería o dirección sería muy apreciada!

EDIT: ¡ Problema resuelto! Estaba llamando a imagePicker = [[UIImagePickerController alloc] init]; en viewDidLoad en lugar de viewDidAppear !

El problema debe ser cómo intenta inicializar / presentar / descartar su controller.

Entonces, ¿por qué esto de ida y vuelta entre cameras?

Parece que AVCaptureSession subyacente por algún motivo siguió funcionando después de que se desestimó el controller. Entonces, la próxima vez que lo presentaste, intentó agregar la input pero estaba ocupado, así que fui al siguiente disponible (la camera trasera), se interrumpió (liberando así la anterior) y así sucesivamente.