Fuerza a UIImagePickerController a tomar fotos en orientación vertical / dimensiones iOS

La única orientación permitida en mi aplicación es el paisaje. Forzo esto en las propiedades del proyecto en target> summery y solo permito retrato enshouldAutorotateToInterfaceOrientation

El problema es que cuando tomo una foto mientras sostengo el teléfono horizontalmente (horizontal), la foto se toma en orientación horizontal, mientras que la IU permanece en modo vertical.

Esto significa que en el modo horizontal obtengo una imagen amplia de 3264 x 2448 en lugar de la imagen alta (2448 x 3264) que recibo en el modo vertical.

A continuación, el usuario puede recortar la imagen, pero si la imagen se toma en modo horizontal, obtengo imágenes muy feas. Agregar bordes o cambiar la interfaz de usuario a horizontal no es una opción.

¿Hay una manera de forzar laUIImagePickerController tomar una foto en dimensiones verticales aunque el teléfono esté en posición horizontal (modo horizontal)?

Inicializo elUIImagePickerController con los siguientes ajustes:

    imagePicker =[[UIImagePickerController alloc] init];
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
    imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
    imagePicker.showsCameraControls = NO;
    imagePicker.modalPresentationStyle = UIModalPresentationFullScreen;
    imagePicker.wantsFullScreenLayout = YES;
    imagePicker.cameraViewTransform = CGAffineTransformScale(imagePicker.cameraViewTransform,CAMERA_TRANSFORM, CAMERA_TRANSFORM);
    imagePicker.navigationBarHidden = YES;
    imagePicker.toolbarHidden = YES;
    [self presentModalViewController:imagePicker animated:NO];
    imagePicker.cameraOverlayView = self.cameraOverlay;
    imagePicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;

Respuestas a la pregunta(1)

Su respuesta a la pregunta