PHAsset 与 UIActivitiViewController 共享图像(UIImage)丢失元数据(Exif 等)

PHAsset sharing the image(UIImage) with UIActivitiViewController lose metadata (Exif and etc)

在我的项目中,我与 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

  2. 将 NSData 图像保存到文件
  3. 将图片分享为 NSUrl

然后没有元数据丢失。