2016-02-25 4 views
0

нужно удалить системные фото на iOS7, этот мой код, но не работаетios7 удалить фотографии не работают

Photos.framework только поддерживают iOS8 выше.

ALAssetsLibrary *lib = [ALAssetsLibrary new]; 
[lib enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) 
{ 
    [group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop) 
     { 
      if([[asset valueForProperty:ALAssetPropertyAssetURL] isEqual:assetURLs]) 
      { 
       [asset setImageData:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) 
       { 
        NSLog(@"assetURL : %@",assetURLs); 
        NSLog(@"Error : %@",error); 
       }]; 
      } 
     }]; 
} 
failureBlock:^(NSError *error) 
    { 
     NSLog(@"Error : %@",error); 
    }]; 

журнала:

assetURL: активы-библиотека: //asset/asset.PNG ID = BAEEADAF-A1E6-4DBB-BD5A-07058B671AE2 & доб = PNG

Ошибка : Ошибка домена = ALAssetsLibraryErrorDomain Код = -3300 «Запись не удалась» UserInfo = 0x14edf940 {NSLocalizedDescription = Ошибка записи, NSUnderlyingError = 0x14eb7580
«Операция не может быть выполнена. (ALAssetsLibraryErrorDomain error -3300.)», NSLocali zedFailureReason = Был проблемы написания этого актива, так как не удалось записываемый}

ответ

0

Новая Фото рамки обеспечивает следующий метод для ранее сохраненного ALAsset URLS:.

+ (PHFetchResult<PHAsset *> *)fetchAssetsWithALAssetURLs:(NSArray<NSURL *> *)assetURLs options:(PHFetchOptions *)options 

От компании Apple Docs (https://developer.apple.com/library/ios/documentation/Photos/Reference/PHAsset_Class)

Рамка библиотеки объектов устарела в iOS 8.0 и более поздних версиях, заменена рамкой Photos. Используйте этот метод, если ваше приложение ранее хранило URL-адреса из объектов ALAsset, и вам нужно получить соответствующие объектные объекты Photos.