使用EXIF数据从DJI Drone中检索图像

我正在iOS中使用DJISDK从飞机上下载图片。

我正在使用PlaybackManager类的downloadSelectedFiles方法。

这是我的进程回调:

 process: { (data, error) in if data != nil{ if self.downloadedImageData != nil{ self.downloadedImageData!.append(data!) }else{ self.downloadedImageData = data! } } } 

这是filecompletition回调:

 fileCompletion: { self.downloadedFilesCount += 1 let image = UIImage(data: self.downloadedImageData!) if let img = image { self.downloadedImagesArray?.append(img) } self.downloadedImageData = nil } 

我正在检索图像但没有EXIF数据。 如何获取该信息并将其添加到图像中? 我已经下载并尝试了iOS-MediaManagerDemo,它是相同的,下载图像但没有exif数据,但官方DJI Go应用程序检索所有信息,所以必须有一些方法来做到这一点。

在他们的论坛中也存在类似的关于空元数据和downloadSelectedFilesWithPreparation 。 创建post的用户也找到了解决方案:

我没有将NSData转换为任何格式而是直接保存NSData,从而解决了这个问题。 使用PHAssets和临时文件将NSData存储为PHAssets只接受来自URL的数据。


尝试使用fetchFileDataWithOffset:updateQueue:updateBlock (它将在Swift中调用fetchFileData(with:updateQueue:updateBlock)

[…]获取媒体数据将返回video或图像的所有数据

示例代码(objc): 此处