Hi all,
So I have this code where I can choose an image from the photo library and then display it.
My question is, how can i access the EXIF data of that image, more specific the latitude and longitude?
This is my contentView: ContentView.swift · GitHub
And this is the more “relevant” code:
struct imagePicker:UIViewControllerRepresentable {
@Binding var image: UIImage?
@Binding var showImagePicker: Bool
typealias UIViewControllerType = UIImagePickerController
typealias Coordinator = imagePickerCoordinator
var sourceType:UIImagePickerController.SourceType = .camera
func makeUIViewController(context: UIViewControllerRepresentableContext<imagePicker>) -> UIImagePickerController {
let picker = UIImagePickerController()
picker.sourceType = sourceType
picker.delegate = context.coordinator
return picker
}
func makeCoordinator() -> imagePicker.Coordinator {
return imagePickerCoordinator(image: $image, showImagePicker: $showImagePicker)
}
func updateUIViewController(_ uiViewController: UIImagePickerController, context: UIViewControllerRepresentableContext<imagePicker>) {}
}
class imagePickerCoordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
@Binding var image: UIImage?
@Binding var showImagePicker: Bool
init(image:Binding<UIImage?>, showImagePicker: Binding<Bool>) {
_image = image
_showImagePicker = showImagePicker
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let uiimage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
image = uiimage
showImagePicker = false
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
showImagePicker = false
}
}