尝试通过图像选择器从照片库中获取照片时,应用程序崩溃

时间:2011-10-09 05:13:44

标签: objective-c ios uiimagepickercontroller photolibrary

在尝试使用图像选择器访问照片库之前,有任何人遇到此错误吗?

NSInvalidArgumentException  Cannot set metadata in read-only store.

任何关于实际出错的建议以及如何解决这个问题的建议将不胜感激。

错误堆栈的快照如下所示

enter image description here

2 个答案:

答案 0 :(得分:6)

有一个post on the dev forums可能稍微有点帮助(尽管iOS 5已经发布,它仍被奇怪地标记为“Apple机密信息”)。

我们也一直在看这些。我的第一印象是它与使用PhotoStream而没有连接到iCloud有关,但是“recordVersion:forStore:”表明它正在尝试将照片库升级到5.0格式(它可能不能作为非特权/沙盒进行) / etc process)。

除了“与iTunes同步”之外,以下内容可能会解决问题:

  • 启动照片
  • 启动相机并拍照

这似乎没有在OS 5.0.1中修复,但报告数量大幅减少,这表明人们的照片库最终会升级。

答案 1 :(得分:5)

这个问题仅限IOS5-已经在开发论坛上问苹果,但没有答案。我无法自责,但是......

我的测试版测试人员报告说,与iTunes同步似乎可以清除此错误 - 所以我的猜测是iTunes同步正在解决权限问题。

我将这段代码包装在@ try / @ catch中,但它仍然崩溃:(。

- (void)showImagePicker {
 UIImagePickerController *imagePicker = [[[UIImagePickerController alloc] init] autorelease];     
 imagePicker.delegate = self;
 imagePicker.hidesBottomBarWhenPushed = YES;
 imagePicker.allowsEditing = YES;
 imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 [tabController presentModalViewController:imagePicker animated:YES];  // sometimes crash 
}
当我打电话给UIImageWriteToSavedPhotosAlbum

时,其他用户也很少/不可重复地发生同样的崩溃