2016-02-25 32 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 & EXT = PNG

錯誤:錯誤域= ALAssetsLibraryErrorDomain代碼= -3300「寫入失敗」UserInfo = 0x14edf940 {NSLocalizedDescription =寫入失敗,NSUnderlyingError = 0x14eb7580
「操作無法完成(ALAssetsLibraryErrorDomain錯誤-3300。)」,NSLocali zedFailureReason =有寫這個資產問題,因爲寫入失敗}

回答

0

新照片框架提供了預先存儲ALAsset網址制定了以下方法:

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

從Apple文檔(https://developer.apple.com/library/ios/documentation/Photos/Reference/PHAsset_Class

資產庫框架在iOS 8.0及更高版本中已棄用,取而代之的是照片框架。如果您的應用程序以前存儲過ALAsset對象的URL,並且您需要檢索相應的照片框架對象,請使用此方法。