Как я могу получить CLLocation фотографии, выбранной из UIImagePickerController в Swift?

UIImagePickerController выбирает изображение из библиотеки фотографий пользователя,

Я просто хотел бы получить координаты местоположения выбранной фотографии в Swift...

Я пробовал такие вещи, как попытка получить URL-адрес фотографии....

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
    let imageURL = editingInfo![UIImagePickerControllerReferenceURL] as! NSURL
    self.imageFromAsset(imageURL)
}

и передать это...

func imageFromAsset(nsurl: NSURL) {
    let asset = PHAsset.fetchAssetsWithALAssetURLs([nsurl], options: nil).firstObject as! PHAsset
    var location = asset.location   //then do something with this data
}

но получение URL изображения для начала создает фатальную ошибку.

Надеюсь, кто-то может помочь, спасибо.

Сообщение об ошибке:

fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb) 

Эта ошибка появляется в этой строке:

    let imageURL = editingInfo![UIImagePickerControllerReferenceURL] as! NSURL

1 ответ

Решение

Использование:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])

вместо:

imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?)

Потому что это устарело в iOS 3.0

https://developer.apple.com/reference/uikit/uiimagepickercontrollerdelegate/1619152-imagepickercontroller

Другие вопросы по тегам