Hmm would this work?
+(UIImage *)rotateImage

UIImage *)image {
int orient = image.imageOrientation;
UIImageView *imageView = [[UIImageView alloc] init];
UIImage *imageCopy = [[UIImage alloc] initWithCGImage:image.CGImage];
switch (orient) {
case UIImageOrientationLeft:
imageView.transform = CGAffineTransformMakeRotation(3.0 * M_PI / 2.0);
break;
case UIImageOrientationRight:
imageView.transform = CGAffineTransformMakeRotation(M_PI / 2.0);
break;
case UIImageOrientationDown: //EXIF = 3
imageView.transform = CGAffineTransformMakeRotation(M_PI);
default:
break;
}
imageView.image = imageCopy;
return (imageView.image);
}