有没有办法在我的应用没有创建的照片应用中删除相机胶卷中的图像(和视频)。我知道您无法从资产库中删除您的应用未创建的内容。但这个应用程序不在应用程序商店。它位于自助服务终端类型的环境中。所以我可以使用私有API。
有没有办法使用苹果公司不会批准应用程序商店的私有API来实现这一点,但是对我的情况有用。
感谢。
答案 0 :(得分:11)
是的,您可以使用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
}];
此代码将要求用户确认从相机胶卷中删除。
答案 1 :(得分:0)
以下是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
}
}
调用此代码时,用户会收到要求确认删除的操作系统提示。假设他们点击是,那么一切都消失了。