微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用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 举报,一经查实,本站将立刻删除。