public func setExiffrom(url:URL?){
if url == nil{
return
}
let imagedata = try! Data.init(contentsOf: url!)
let source: CGImageSource = CGImageSourceCreateWithData((imagedata as CFData), nil)!
if let object = CGImageSourceCopyPropertiesAtIndex(source, 0, nil) as? [String: Any]{
self.imageView.image = UIImage(data: imagedata)
self.exif = Exif(object)
self.textView.text = self.exif?.gps?.getFormattedString(valueSeperator: " = ", lineSeperator: "")
}
}
public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as? UIImage
let url = info[UIImagePickerControllerImageURL] as? URL
self.imageView.image = image
self.choosenImage = image
self.setExiffrom(url: url)
self.dismiss(animated: true, completion: nil)
}
Я хотел бы включить чтение местоположения фотографий пользователя в приложение, чтобы я узнал об exif и как он хранится в широте и долготе. У меня был кто-то, кто помог бы мне с кодировкой, и для некоторых изображений в приложении он хорошо бы проанализировал exif из выбранного изображения ... НО для большинства изображений в exif не было данных о местоположении. Я проверил в приложении iOS Photos, и там все данные о местоположении были правильно представлены для всех изображений (при нажатии на фотографию они отображаются на карте)
Я также проверил на своем MacBook и нашел что-то удивительное. Когда я щелкнул правой кнопкой мыши и нажал «получить информацию» на изображении в приложении «Фотографии» на макбуке, оно отображалось вместе с местоположением, но как только я скопировал его на рабочий стол, у него больше не было данных местоположения. Возможно, новая функция безопасности?
Мой вопрос: как мне написать приложение, которое правильно определяет местоположение, чтобы приложение могло помочь пользователям захватывать воспоминания? Если приложение «Фотографии» на телефоне может видеть местоположение, это означает, что данные там есть, и, к сожалению, всякий раз, когда изображение копируется, появляется информация о местоположении. Возможно, мне нужно как-то прочитать данные ДО того, как я вызову «let image = info [UIImagePickerControllerOriginalImage], потому что это как-то удаляет информацию о местоположении? Если да, то как мне это сделать? Может быть, есть просто лучшая техника?
- любая помощь, была бы оценена, я в тупике ...