¿Cómo obtener un UIImage correctamente rotado de una representación ALAsset?

Estoy tratando de obtener una rotación correctaUIImage desde unALAssetRepresentation utilizando lafullScreenImage método. Tengo varias fotos de prueba tomadas en varias orientaciones de dispositivos; Las fotos se muestran correctamente en la aplicación Fotos. La documentación parafullScreenImage dice:

En iOS 5 y versiones posteriores, este método devuelve una imagen totalmente recortada, girada y ajustada, exactamente como lo vería un usuario en Fotos o en el selector de imágenes.

Para crear un rotado correctamente.UIImage objeto de laCGImage, tu usasimageWithCGImage:scale:orientation: oinitWithCGImage:scale:orientation:, pasando los valores deorientation yscale.

Dada la documentación, mi código se ve así:

ALAssetRepresentation *rep = [asset defaultRepresentation];
UIImage *img = [UIImage
    imageWithCGImage:[rep fullScreenImage]
    scale:[rep scale]
    orientation:[rep orientation]];

Pero el resultadoUIImageLa rotación es incorrecta. Cuando reemplace[rep orientation] conUIImageOrientationUp, la imagen está bien para todas las fotos de prueba. Obviamente estoy dudando en seguir con esta "solución", ya que se siente como un hack. ¿Qué estoy haciendo mal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta