我目前正在添加用户在iOS 11中拖放我的应用程序的功能。该应用程序支持将图像拖放到UIImageView中。
我想从文件应用程序中删除的图像中找到GPS数据。我使用下面的代码查找其他数据,但无法访问GPS数据。
func dropInteraction(_ interaction: UIDropInteraction, performDrop session: UIDropSession) {
session.loadObjects(ofClass: UIImage.self) { imageItems in
let images = imageItems as! [UIImage]
self.imageView.image = images.first
let data = UIImageJPEGRepresentation(images.first!, 1.0)
let imageData: NSData = data! as NSData
let imageDataOptional: NSData? = data as? NSData
if let imageSource = CGImageSourceCreateWithData(imageData, nil) {
let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil)! as NSDictionary
print("Metadata: \(imageProperties)")
print("DPI: \(imageProperties["DPIHeight"])")
print("Width: \(imageProperties["PixelWidth"])")
print("Height: \(imageProperties["PixelHeight"])")
}
}
从文档选择器中选择时,我可以通过从文件URL创建CIImage来查找数据(见下文)。
let ciimg = CIImage(contentsOf: url)
if ciimg != nil {
let metadata = ciimg!.properties
print("Meta: \(metadata)")
}
是否可以从UIImage访问GPS数据或找到以CIImage方式执行的URL,如果是,如何?