iPadシミュレーターで一時ファイルを作成しています。ファイルの作成をテストするために、ファイルを作成してから読み返します。これを示すコードは次のとおりです。
-(NSString *) writeToTempFile:(UIImage*) image{
NSString *path = [self createTemporaryFile];
NSLog(@"path: %@", path);
NSData *data = UIImageJPEGRepresentation(image, 1);
[data writeToFile:path atomically:YES];
free(data);
return path;
}
-(UIImage *) readTempFile:(NSString *) path{
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
UIImage *image = [[UIImage alloc] initWithData:data];
return image;
}
最終関数がUIImageをフォトアルバムに書き出す前に、これらのメソッドを次々に呼び出します。
UIImageWriteToSavedPhotosAlbum(image2, self, nil, nil);
問題は、3回目の実行時にアプリが常にクラッシュすることです。1回目と2回目は、これらすべてを正常に実行し、アルバムに保存します。3回目はホームにクラッシュします。何か案は?