iOS照片框架:如何将图像资源还原为原始图像

iOS照片框架:如何将图像资源还原为原始图像,ios,objective-c,iphone,swift,photosframework,Ios,Objective C,Iphone,Swift,Photosframework,所有在线文档和示例都演示了如何使用PHContentEditingInput和PHContentEditingOutput编辑/更改资产。我没有发现任何关于重置或恢复图像到其原始状态的信息。任何写入RenderContentURL的内容都被视为编辑,所以这不是我想要的。只需在此处分享我的发现:使用 斯威夫特: PHPhotoLibrary.shared().performChanges({ let request = PHAssetChangeRequest(for:as

所有在线文档和示例都演示了如何使用PHContentEditingInput和PHContentEditingOutput编辑/更改资产。我没有发现任何关于重置或恢复图像到其原始状态的信息。任何写入RenderContentURL的内容都被视为编辑,所以这不是我想要的。只需在此处分享我的发现:

使用

斯威夫特:

    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
只是偶然发生的),因此不太可能在将来中断。。。