UIImagePickerControllerMediaURL对于照片总是为零

时间:2013-01-08 16:44:12

标签: objective-c ios xcode

我无法使用UIImagePickerController获取我的应用拍摄的照片的图片网址。如果捕获了视频,则didFinishPickingMediaWithInfo中返回的字典对象包含指向视频文件的UIImagePickerControllerMediaURL值。

如果我拍照,字典对象不包含UIImagePickerControllerMediaURL值或UIImagePickerControllerReferenceURL值。

谷歌搜索引发了不同的事情,我试过没有成功,包括:

  • 将allowEditing设置为YES(也尝试NO)
  • 在访问信息词典之前,先关闭模态图像选择器。
  • 将.... MediaURL的info objectForKey转换为NSURL。因nil而失败。
  • 在图像选择器上设置mediaTypes以包含(NSString*) kUTTypeImage(NSString*) kUTTypeMovie

但是信息字典从不包含图像的URL。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如文档中所述,info是:

  

包含原始图像和编辑图像的字典(如果是)   图像被选中;或电影的文件系统URL,如果是电影的话   采摘。该词典还包含任何相关的编辑信息。

因此,如果选择了图像,则不会获取URL。你将图像作为UIImage。

// Get picked image from info dictionary

UIImage *image = info[UIImagePickerControllerOriginalImage];

[save the image]

答案 1 :(得分:2)

与您的问题相关的一些额外信息:

仅在编辑图像时设置UIImagePickerControllerReferenceURL值。然后,此键将URL保存到原始图像。来自文档:

  

所选项目原始版本的资产库URL。   用户编辑拾取的项目后 - 例如通过裁剪图像或   修剪电影 - URL继续指向原始版本   挑选的项目。