使用PHAssetCreationRequest.forAsset保存连拍照片会将其添加到连拍中,而不是作为单独的照片

问题描述

我正在使用PHAssetCreationRequest来将图像从一个应用程序保存到iPhone照片应用程序。我将保存在应用程序文档目录中的图像内容读取为数据,然后使用此方法将其保存,这样就可以维护图像元数据。

现在,我面临以下问题:如果先前添加到应用程序文档目录中的原始照片属于连拍,那么这种保存方法会将新保存的照片再次添加到照片应用中的同一连拍中。如果用户已经选择了该连拍的一些收藏夹并删除了该连拍,则新保存的照片将被添加到该照片应用的“垃圾箱”相册中的连拍中。

当将照片空投到iPhone上时,也会发生这种情况。

有什么办法可以防止将用PHAssetCreationRequest保存的照片添加到连拍中,而是在保留元数据的同时另存为自己的照片吗?

// 1. Read the photo with all Metadata as data
do {
     imageData = try Data(contentsOf: myPath)
}
catch {
     print(error)
}

// 2. Save image
PHPhotoLibrary.shared().performChanges({
     let request = PHAssetCreationRequest.forAsset()
     request.addResource(with: PHAssetResourceType.photo,data: imageData,options: nil)
     request.creationDate = Date()
},completionHandler: { (success,error) in
     if success {
          // DONE
     }
     else {
          print(error?.localizedDescription ?? "ERROR saving image")
     }
})

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)