如何解决 PhotoKit 错误“原始资源选择仅对未调整的基础版本有效”?
Posted
技术标签:
【中文标题】如何解决 PhotoKit 错误“原始资源选择仅对未调整的基础版本有效”?【英文标题】:How to resolve the PhotoKit error "Original resource choice is only valid for an unadjusted base version"? 【发布时间】:2019-03-08 16:11:11 【问题描述】:我尝试将 IPTC、TIFF 和 EXIF 数据添加到 PHAsset。当我使用以下代码应用更改时,我收到了上述错误:
guard let ciImage = CIImage(contentsOf: input.fullSizeImageURL!, options: [.applyOrientationProperty:true]) else
fatalError("Not able to create CIImage from input")
//Write the edited image as a JPEG.
do
try CIContext().writeJPEGRepresentation(of: ciImage,
to: output.renderedContentURL,
colorSpace: outputImage.colorSpace!,
options: [kCGImageDestinationLossyCompressionQuality as CIImageRepresentationOption:1.0])
catch let error
fatalError("Can't apply metadata to the image: \(error).")
phphotoLibrary.shared().performChanges(
let request = PHAssetChangeRequest(for: self.asset!)
request.contentEditingOutput = output
, completionHandler: success, error in
if !success
print("Can't edit the asset: \(error?.localizedDescription)")
错误:
[PhotoKit] Original resource choice is only valid for an unadjusted base version
我做错了什么?有没有更好的方法将 IPTC 元数据添加到 PHAsset,分别。 UIImage 文件?
【问题讨论】:
【参考方案1】:如果在我创建问题中显示的 CIImage 之前发现代码中存在的问题。我删除了代码,而不是覆盖 CIImage 的二进制数据,我只是使用 CIImage 将我的更改存储在 PHAsset / PHAssetLibrary 中。
【讨论】:
我在尝试更新实时照片时收到此错误。您能否为您的答案提供更多细节?从phAsset.requestContentEditingInput
开始,你的连锁店是什么样子的?
您能否提供更详细的答案?以上是关于如何解决 PhotoKit 错误“原始资源选择仅对未调整的基础版本有效”?的主要内容,如果未能解决你的问题,请参考以下文章