繁体   English   中英

iOS Swift无法访问已存储照片上的EXIF数据

[英]iOS Swift Cannot acces EXIF data on stored photo

我需要在设备照片库中获取图片的位置。 为此,我正在尝试加载图像的Exif数据。 这是我的代码:

   import ImageIO

   func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
       let image = info[UIImagePickerControllerOriginalImage] as? UIImage
       let ciImage = CIImage(image: image!)
       let imageProperties = CGImageSourceCopyPropertiesAtIndex(ciImage as! CGImageSource, 0, nil) as Dictionary?
       if let dict = imageProperties as? [String: Any] {
        print(dict)
    }
  }

当我尝试在设备上运行代码时,应用崩溃。 我认为问题出在演员表中,我尝试做一些操作,但是我无法将我的UIImage转换为CFImageSource类型。

您不能将CIImage (也不CGImageSource UIImageCGImageSource转换为CGImageSource 要创建CGImageSource请执行以下操作:

guard let imageData = UIImageJPEGRepresentation(uiImage, 1)
    else { fatalError("Error getting image data") }

guard let imageSource = CGImageSourceCreateWithData(imageData as CFData, nil)
    else { fatalError("Error creating image source") }

let properties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil)

UIImageJPEGRepresentation将图像返回为JPEG图像,因此uiImage最初使用的格式并不重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM