iOS Photos Framework:如何将图像资产还原为原始图像
iOS Photos Framework: how to revert image asset to original
所有在线文档和示例都展示了如何使用 PHContentEditingInput 和 PHContentEditingOutput edit/change 资产。我没有找到任何关于将图像重置或恢复为原始图像的信息。任何写入 renderedContentURL 的内容都被视为编辑,所以这不是我想要的。在这里分享我的发现:
使用revertAssetContentToOriginal
Swift:
PHPhotoLibrary.shared().performChanges({
let request = PHAssetChangeRequest(for:asset)
request.revertAssetContentToOriginal()
}, completionHandler: { success, error in
if !success { print("can't revert asset: \(error)") }
})
Objective C:
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *change = [PHAssetChangeRequest changeRequestForAsset:asset];
[change revertAssetContentToOriginal];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Finished adding asset. %@", (success ? @"Success" : error));
}];
所有在线文档和示例都展示了如何使用 PHContentEditingInput 和 PHContentEditingOutput edit/change 资产。我没有找到任何关于将图像重置或恢复为原始图像的信息。任何写入 renderedContentURL 的内容都被视为编辑,所以这不是我想要的。在这里分享我的发现:
使用revertAssetContentToOriginal
Swift:
PHPhotoLibrary.shared().performChanges({
let request = PHAssetChangeRequest(for:asset)
request.revertAssetContentToOriginal()
}, completionHandler: { success, error in
if !success { print("can't revert asset: \(error)") }
})
Objective C:
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *change = [PHAssetChangeRequest changeRequestForAsset:asset];
[change revertAssetContentToOriginal];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Finished adding asset. %@", (success ? @"Success" : error));
}];