ios7删除照片不起作用

Posted

技术标签:

【中文标题】ios7删除照片不起作用【英文标题】:ios7 delete photos not work 【发布时间】:2016-02-25 02:16:33 【问题描述】:

我需要在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】:

新的 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 及更高版本中已弃用,取而代之的是照片框架。如果您的应用之前存储了来自 ALAsset 对象的 URL,并且您需要检索相应的照片框架对象,请使用此方法。

【讨论】:

以上是关于ios7删除照片不起作用的主要内容,如果未能解决你的问题,请参考以下文章

AvAudioSession 在 iOS7 中不起作用?

iOS7 UITableView scrollsToTop 不起作用 [重复]

水平滚动方向的iOS7 UICollectionView不起作用

换行模式在ios7中不起作用

iOS 8 中的 UITableViewCell 约束在 iOS7 中不起作用

UISearchBar 的自定义 InputView 在 iOS7 中不起作用