次のコードを使用して、 UIImagePickerController から取得した画像を保存しようとしています:
NSString *docsDirectory =
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"myImage.png"];
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[UIImagePNGRepresentation(image) writeToFile:path atomically:YES];
画像を保存した後、別の画面で画像を再度読み取ります。
NSString *docsDirectory =
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"myImage.png"];
UIImage *extractedImage= [UIImage imageWithContentsOfFile:pngPath];
このコードは iPhone 4 (iOS 5.1.1) では問題なく動作しますが、デバイス iPhone 4 (iOS 5.1.1)、iPad 1 (iOS5.1)、および iPad 2 (iOS5.1.1) では、このコードはランダムに動作します。
画像が最初に保存されることもあれば、2 ~ 3 回試行した後に保存されることもあります。