与 UIActivitiViewController 共享图像(UIImage)的 PHAsset 丢失元数据(Exif 等)
Posted
技术标签:
【中文标题】与 UIActivitiViewController 共享图像(UIImage)的 PHAsset 丢失元数据(Exif 等)【英文标题】:PHAsset sharing the image(UIImage) with UIActivitiViewController lose metadata (Exif and etc) 【发布时间】:2016-06-27 10:00:53 【问题描述】:在我的项目中,我与 UIActivityViewController 共享图像和视频阶段
但是对于图像,当我与 UIActivityViewController 共享 3.0MB 图像时,它会增长超过 6.0MB 并丢失元数据。
在我的来源
[[PHImageManager defaultManager] requestImageDataForAsset:asset
options:options
resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info)
if (completion)
completion(imageData);
];
当我检查 imageData 时,它仍然有元数据,但如果我将其转换为 UIImage 并尝试共享它,它就会丢失其元数据(Exif 等...)并调整大小。
有没有办法与元数据共享原始文件(= 没有数据丢失)?
谢谢。
【问题讨论】:
【参考方案1】:我是这样解决的。
使用 writeToFile
将 NSData 图像保存到文件将图像共享为 NSUrl
那么元数据不会丢失。
【讨论】:
嗨,Kim,分享视频也有丢失元数据的问题。您是否知道不丢失视频文件共享的元数据? @srjohnhuang 也许这个答案对你有帮助***.com/questions/38196661/… 嗨,Kim,感谢您的提示。似乎苹果会破坏相机胶卷的元数据,同时直接从相机胶卷共享它。当前的解决方案就像您在链接中提到的那样,将视频复制到应用程序的文件夹中。以上是关于与 UIActivitiViewController 共享图像(UIImage)的 PHAsset 丢失元数据(Exif 等)的主要内容,如果未能解决你的问题,请参考以下文章