ios7删除照片不起作用

时间:2016-02-25 02:16:33

标签: ios7 alassetslibrary

我需要删除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:assets-library://asset/asset.PNG?id = BAEEADAF-A1E6-4DBB-BD5A-07058B671AE2& ext = PNG

     

错误:错误域= ALAssetsLibraryErrorDomain代码= -3300"写入失败" UserInfo = 0x14edf940 {NSLocalizedDescription =写入失败,NSUnderlyingError = 0x14eb7580
     "操作无法完成。 (ALAssetsLibraryErrorDomain错误-3300。)",NSLocalizedFailureReason =编写此资产时出现问题,因为写入失败。}

1 个答案:

答案 0 :(得分:0)

新的Photos框架为以前存储的ALAsset URL提供了以下方法:

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

来自Apple文档(https://developer.apple.com/library/ios/documentation/Photos/Reference/PHAsset_Class

资产库框架在iOS 8.0及更高版本中已弃用,取而代之的是Photos框架。如果您的应用程序先前已存储来自ALAsset对象的URL,并且您需要检索相应的Photos框架对象,请使用此方法。