从代码iOS中删除相机胶卷中的图像

有没有办法在我的应用程序没有创build的照片应用程序中删除相机胶卷中的图像(和video)。 我知道您无法从素材资源库中删除您的应用未创build的内容。 但是这个应用程序不在应用程序商店。 这是一个信息亭types的环境。 所以我可以使用私人API。

那么有没有办法做到这一点使用私人的API,苹果不会批准的应用程序商店,但会适用于我的情况。

谢谢。

是的,你可以使用Photos框架在iOS 8中执行此操作。

例如,如果您的资产url存储在NSArray * assetsURLs中

PHPhotoLibrary *library = [PHPhotoLibrary sharedPhotoLibrary]; [library performChanges:^{ PHFetchResult *assetsToBeDeleted = [PHAsset fetchAssetsWithALAssetURLs:assetsURLs options:nil]; [PHAssetChangeRequest deleteAssets:assetsToBeDeleted]; } completionHandler:^(BOOL success, NSError *error) { //do something here }]; 

此代码将要求用户确认从相机胶卷中删除。

这里是Swift的一个版本,它将删除库中的所有照片。

首先,您需要确保您的应用程序的info.plist文件中有权限的权限: 在这里输入图像说明

您将需要获得用户访问照片的许可(不包括此处的代码)。

接下来,导入代码:

 import Photos func deleteAllPhotos() { let library = PHPhotoLibrary.shared() library.performChanges({ let fetchOptions = PHFetchOptions() let allPhotos = PHAsset.fetchAssets(with: .image, options: fetchOptions) PHAssetChangeRequest.deleteAssets(allPhotos) }) { (success, error) in // Handle success & errors } } 

当这个代码被调用时,用户会收到一个提示确认删除的操作系统提示符。 假设他们点击是,那么一切都消失了。