如何获得相机ios swift拍摄的照片路径

我正在使用imagePickerController(_ picker:UIImagePickerController,didFinishPickingMediaWithInfo委托方法获取用户在照片库中选择的图像的url。但是当我尝试获取相机拍摄的图像的URL时,它返回nill。这是我的代码。

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { if (imagePicker.sourceType == UIImagePickerControllerSourceType.camera) { let data = UIImagePNGRepresentation(pickedImage) UIImageWriteToSavedPhotosAlbum(pickedImage, nil, nil, nil) if let image = info[UIImagePickerControllerOriginalImage] as? UIImage { let imageURL = info[UIImagePickerControllerReferenceURL] as? NSURL print(imageURL) } } 

您拍摄的图像未保存,尚未显示任何名称。 您需要先保存图像,然后才能获得图像的路径。 这就是为什么它返回nil

如果您从图像库中选择图像而不是使用相机拍摄图像,则会获得路径。

将图像保存到Photos Album后,您可以获得响应回调的路径

 func saveImage(image: UIImage, completion: @escaping (Error?) -> ()) { UIImageWriteToSavedPhotosAlbum(image, self, #selector(image(path:didFinishSavingWithError:contextInfo:)), nil) } @objc private func image(path: String, didFinishSavingWithError error: NSError?, contextInfo: UnsafeMutableRawPointer?) { debugPrint(path) // That's the path you want }