У меня есть приложение, которое удаляет фотографии из фотопленки. Эта очистка инициируется удаленно. Из-за этого, если стирание инициировано, а пользователь не находится на своем телефоне, он не будет стираться, потому что вам необходимо разрешить удаление для каждого изображения.
Теперь я прочитал, что это невозможно в разных вопросах. Однако можно ли запросить авторизацию в фототеку телефона так же, как это делается с геолокацией, когда приложение завершает загрузку при первом запуске. Будет ли это предоставлять разрешение на удаление без необходимости подтверждения для каждой фотографии?
Вот как я сейчас удаляю фотографии, все работает нормально, за исключением необходимости подтверждать удаление каждого изображения.
PHFetchResult *asset = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
[asset enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@",[obj class]);
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
BOOL req = [obj canPerformEditOperation:PHAssetEditOperationDelete];
if (req) {
NSLog(@"true");
[PHAssetChangeRequest deleteAssets:@[obj]];
}
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Finished Delete asset. %@", (success ? @"Success." : error));
if (success) {
NSLog(@"WIPE SUCCESSFUL");
}
}];
}];