Я использую средство выбора изображений в своем приложении. Он отлично работает для БОЛЬШИНСТВА изображений, однако у него возникают проблемы с изображениями, изначально снятыми с камеры iPhone 4 (думаю, из-за того, что они такие большие). Фотки с камеры айфона 5 и скриншоты все работает нормально. При загрузке изображения, изначально снятого с камеры iPhone 4, средство выбора поворачивает их на 90 градусов влево. Я думаю, что это тоже связано, но в моем приложении есть функция, с помощью которой пользователь может сохранять изображения в свою фотопленку, и она отлично работает для большинства изображений, но те, которые сняты с камеры iPhone 4 и повернуты на 90 градусов, НЕ сохраняются.
Вот мой код:
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
if ([self.imagePicker isEqual:picker])
{
//
// Saving into Documents folder
//
NSString* path = [NSHomeDirectory() stringByAppendingString:@"/Documents/one.png"];
BOOL ok = [[NSFileManager defaultManager] createFileAtPath:path
contents:nil attributes:nil];
if (!ok) {
NSLog(@"Error creating file %@", path);
} else {
NSFileHandle* myFileHandle = [NSFileHandle fileHandleForWritingAtPath:path];
[myFileHandle writeData:UIImagePNGRepresentation(info [UIImagePickerControllerOriginalImage])];
[myFileHandle closeFile];
}
//
// Loading from documents
//
NSFileHandle* myFileHandle = [NSFileHandle fileHandleForReadingAtPath:path];
UIImage* loadedImage = [UIImage imageWithData:[myFileHandle readDataToEndOfFile]];
self.chosenImageOne = loadedImage;
[self.imageViewOne setImage:self.chosenImageOne];
[self dismissViewControllerAnimated:YES completion:nil];
}
}