我有一个应用程序,它使用UIImagePickerController从相机和照片库中检索图片.在图像选择器委托中,我只想保存所选图像的NSURL(UIImagePickerControllerReferenceURL)以节省内存.当用户稍后需要查看图像时,我直接从照片库加载PHCachingImageManager.
现在 - 这整个过程非常适合用户从库中选择的图片,但不适用于直接由相机拍摄的图片(因为没有URL).我目前正在尝试使用PHAsset保存图片,但我不知道如何获取保存图片的NSURL.
这就是我一直在做的事情:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
picker.dismissViewControllerAnimated(true, completion: nil)
let pickedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
if picker.sourceType == .Camera
{
// When taking a picture with the camera, store it in the user roll
PHPhotoLibrary.sharedPhotoLibrary().performChanges(
{ () -> Void in
// save the image
PHAssetCreationRequest.creationRequestForAssetFromImage(pickedImage)
// TODO how to get the asset url
}, completionHandler:
{ (finished, error) -> Void in
if (finished)
{
}
} …Run Code Online (Sandbox Code Playgroud)