UIImageWriteToSavedPhotosAlbum工作有时候...
-
26-09-2019 - |
题
UIImageWriteToSavedPhotosAlbum只是工作的时候。有时工作,有时没有,完全相同的功能。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
NSLog(@"Saving image to camera roll...");
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
NSLog(@"Done!"); }
我使用一个UIImagePicker控制器获得的图像,然后电话的功能。
有时候,它节省了它的摄像头卷,其他时候,它仅仅不.
任何人有任何想法?
在此先感谢。
编辑:
完成的方法UIImageWriteToSavedPhotosAlbum有时返回一个错误:
wait_fences: failed to receive reply: 10004003
解决方案
我会开始通过增加完成工作目标的方法的保存电话,看看它是否产生任何错误。看看 UIImageWriteToSavedPhotosAlbum
文件的详细信息。
编辑:
一个时代的返回...wait_fences:未收到答复:10004003
这意味着操作的超时。有很多原因的:
- 低存储器:把一个登录在
didReceiveMemoryWarning
看到如果这就是原因。 - 腐败的文件,该系统不能保存。如果图像生成的各个时间可能不出来的权利。
- 不适当地报告全盘的错误。
我认为(1)最有可能的,并解释了间歇性的。当你有足够的记忆的方法工作的而当你没失败。
此外,当您汇编,解决任何警告。这些仅仅是错误那会不会显示出来,直到运行时间。你问题可能没有列出
其他提示
希望这个答案是不是太晚了是有帮助的。我遇到了一模一样的问题。事实证明这个问题是双重的。首先,确实需要的图像被保留,然后发送到UIImageWriteToSavedPhotosAlbum。其次,在预先的iPhone4设备此功能可以采取loooooong时间做它的事。我发现此修复程序是实现一个回调函数。看到这对UIImageWriteToSavedPhotosAlbum的文档。该功能必须在正确的格式,你不能只是使用任何旧功能。在这个功能一定要释放您保留了图像,否则你会泄漏内存。你也可以用它来跟踪时的图像进行保存的。这里是低于我的基本代码:
-(void)processImage:(UIImage *)image {
[image retain];
UIImageWriteToSavedPhotosAlbum(reconstructedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
}
- (void)image:(UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo {
NSLog(@"SAVE IMAGE COMPLETE");
if(error != nil) {
NSLog(@"ERROR SAVING:%@",[error localizedDescription]);
}
[image autorelease];
}
不隶属于 StackOverflow