iPhone ALAssets:可以破坏性地编辑资产吗?

时间:2012-08-22 17:25:03

标签: ios alassetslibrary

查看ALAssetsLibrary API,我看到了一些创建新资产的方法: writeImageDataToSavedPhotosAlbum:metadata:completionBlock: writeImageToSavedPhotosAlbum:metadata:completionBlock: writeImageToSavedPhotosAlbum:orientation:completionBlock: writeVideoAtPathToSavedPhotosAlbum:completionBlock:

这似乎表明您应该只创建新资产。我的问题是:有没有办法对资产进行破坏性编辑?或者您是否总是为编辑创建新图像?我希望后者能够将每个资产视为一个独特的,仅创建一次的资产。

2 个答案:

答案 0 :(得分:2)

我发现没有办法删除或更改库中的资产。当我在资产库中创建项目时,我感到很痛苦,我无法删除它们。但这似乎是苹果的愿望。很可能是因为他们不希望应用程序能够从用户库中删除图像和视频。只有通过访问相机应用程序或其他“Apple”应用程序才能删除资产。

我希望他们能让您弹出资产的删除确认窗口,让用户决定(苹果创建的)确认页面。

答案 1 :(得分:1)

我还没有尝试过,但是从iOS 5开始,如果图像被标记为可编辑,则可以使用setImageData上的ALAsset方法编辑图像(仅当图片最初由您的应用创建):

http://developer.apple.com/library/ios/#documentation/AssetsLibrary/Reference/ALAsset_Class/Reference/Reference.html#//apple_ref/occ/instm/ALAsset/setImageData:metadata:completionBlock

但似乎无法删除图像。