Jak uzyskać prawidłowo obróconą UIImage z ALAssetRepresentation?

Staram się prawidłowo obrócićUIImage zALAssetRepresentation używającfullScreenImage metoda. Mam kilka zdjęć testowych wykonanych w różnych orientacjach urządzenia; zdjęcia są poprawnie wyświetlane w aplikacji Zdjęcia. Dokumentacja dlafullScreenImage mówi:

W systemie iOS 5 i nowszych ta metoda zwraca w pełni przycięty, obrócony i dostosowany obraz - dokładnie tak, jak użytkownik zobaczyłby go na zdjęciach lub w selektorze obrazów.

Aby utworzyć prawidłowo obróconeUIImage obiekt zCGImage, używaszimageWithCGImage:scale:orientation: lubinitWithCGImage:scale:orientation:, przekazując wartościorientation iscale.

Biorąc pod uwagę dokumenty, mój kod wygląda tak:

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

Ale wynikająceUIImageObrót jest nieprawidłowy. Kiedy wymieniam[rep orientation] zUIImageOrientationUp, obraz jest odpowiedni dla wszystkich zdjęć testowych. Oczywiście waham się, aby trzymać się tego „rozwiązania”, ponieważ wydaje mi się, że to hack. Co ja robię źle?

questionAnswers(1)

yourAnswerToTheQuestion