Получение URL-адреса снимка, сделанного камерой с помощью Photos Framework
У меня есть приложение, которое использует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)
{
}
}
)
}
else
{
let pickedImageUrl: NSURL? = info[UIImagePickerControllerReferenceURL] as? NSURL
currentImageUrl = pickedImageUrl
currentImage = pickedImage
toggleImageInfoView(true)
toggleMapState(true)
}
}
Есть идеи, как получить URL сохраненного изображения?
Бест, Георг