iOS 照片框架:如何将图像资源恢复为原始图像
Posted
技术标签:
【中文标题】iOS 照片框架:如何将图像资源恢复为原始图像【英文标题】:iOS Photos Framework: how to revert image asset to original 【发布时间】:2018-01-27 16:59:47 【问题描述】:所有在线文档和示例都展示了如何使用 PHContentEditingInput 和 PHContentEditingOutput 编辑/更改资产。我没有找到任何有关将图像重置或恢复为原始图像的信息。写到 renderContentURL 的任何内容都被视为编辑,所以这不是我想要的。在这里分享我的发现:
【问题讨论】:
【参考方案1】:使用revertAssetContentToOriginal
斯威夫特:
phphotoLibrary.shared().performChanges(
let request = PHAssetChangeRequest(for:asset)
request.revertAssetContentToOriginal()
, completionHandler: success, error in
if !success print("can't revert asset: \(error)")
)
目标 C:
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^
PHAssetChangeRequest *change = [PHAssetChangeRequest changeRequestForAsset:asset];
[change revertAssetContentToOriginal];
completionHandler:^(BOOL success, NSError *error)
NSLog(@"Finished adding asset. %@", (success ? @"Success" : error));
];
【讨论】:
感谢您发布此内容,我希望达到同样的效果。我相信你可以在 2 天后接受你自己的答案。 我注意到request.revertAssetContentToOriginal()
似乎与request.contentEditingOutput = nil
具有相同的效果:将资产恢复到其原始状态(在提示用户授权后)。 nil
选项更紧凑,因为它不需要区分两种情况(它是“自动的”)。但是,我想我会坚持使用revertAssetContentToOriginal()
;感觉这是预期的方式(nil
只是偶然工作),因此未来不太可能中断......以上是关于iOS 照片框架:如何将图像资源恢复为原始图像的主要内容,如果未能解决你的问题,请参考以下文章