wait_fences:拍照时未收到回复:10004003



我正在开发一个可以拍照并将其保存到设备的应用程序。 单击"保存"时,似乎花费的时间太长,并在日志中抛出以下消息:

wait_fences: failed to receive reply: 10004003

以下是保存拍摄的照片时调用的方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    int img_count = [[appDelegate retrieveFromUserDefaults:@"image_saved"] intValue];
    img_count = img_count + 1;
    NSString *imageName = [[NSString alloc] initWithFormat:@"dmg_image_%@_%d", [appDelegate retrieveFromUserDefaults:@"current_job_id"], img_count];
    [appDelegate saveImage:image withName:imageName];
    [appDelegate saveToUserDefaults:imageName key:@"inspection_image"];
    [damageImage setImage:image];
    [damageDesc becomeFirstResponder];
}

我确定我错过了一些简单的东西,我认为无论抛出这条消息是什么,都是它运行缓慢的原因。

我已经阅读了遇到此问题的其他人,但他们使用的是警报呼叫,而不是拍照的回报。 在调用 didFinishPick 时,我是否也应该使用轻微的延迟?

谢谢!

问题可能是您在主线程上运行此 metho。wait_fences函数是其中一个 iOS 图形库的内部函数,它与动画相关 - 当您保存图像时,您会在将大量数据写入文件时阻塞主线程和 UI。将保存功能移动到另一个线程(考虑使用 NSThread ),您的用户界面应该会再次响应。

最新更新