Iphone 如何获取UIImagePickerController参考URL摄像头

Iphone 如何获取UIImagePickerController参考URL摄像头,iphone,objective-c,camera,uiimagepickercontroller,save,Iphone,Objective C,Camera,Uiimagepickercontroller,Save,我正在保存iPhone摄像头的图像,并管理委托方法: - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 在这里,我需要知道: [info objectForKey:UIImagePickerControllerReferenceURL] 但是如果我只拍了一张照片,它总是为零,如果与零不同,则从相机卷加载一张照片。

我正在保存iPhone摄像头的图像,并管理委托方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
在这里,我需要知道:

[info objectForKey:UIImagePickerControllerReferenceURL]
但是如果我只拍了一张照片,它总是为零,如果与零不同,则从相机卷加载一张照片。
为什么会这样?

如果您拍摄视频,媒体将保存在设备的存储器中,您可以访问其URL。 如果捕获图像,媒体将保存到设备的内存中,您可以访问其原始数据

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSLog(@"%@", info);

    // An image
    if([info[UIImagePickerControllerMediaType] isEqualToString:@"public.image"])
        UIImage *image=info[UIImagePickerControllerOriginalImage];

    // A video
    else
        NSURL *url=info[UIImagePickerControllerMediaURL]];
}

编辑:您询问了为什么图像的URL为零。如您所见,捕获的图像永远不会保存在设备的存储器中。将图片存储在内存中的一个优点是,您可以在将其存储到设备或通过网络发送之前对其进行处理。

谢谢您的回答。在我的应用程序中,我允许用户选择保存在照片库中的图像,或者实时拍摄图像(未保存到照片库中)。当我使用
UIImagePickerControllerReferenceURL
查找保存在照片库中的图像的文件名时,我成功了,但当我尝试对实时捕获的图像执行相同操作时,URL为零。您知道我可以使用什么代码为未保存在设备存储器中的图像复制
UIImagePickerController参考URL