iOS PHAsset对象如何本地保存

现需功能:选择的本地相册照片上传,如果上传过程中中断。下次开启程序可以继续上传任务。
遇到问题:选择的本地照片数据PHAsset不遵守NSCoding协议,无法归档。寻求本地保存的方案。或者此功能更好的解决方案。
感谢!

阅读 7.8k
3 个回答

不能直接存,你就找个标识记录下来,下次拿这个标识去筛选,取到原来的对象。
所以我找了下文档,刚好有这样的东西:

  • (PHFetchResult<PHAsset > )fetchAssetsWithLocalIdentifiers:(NSArray<NSString > )identifiers options:(nullable PHFetchOptions *)options;

identifiers就传PHAsset的localIdentifier:
@property (nonatomic, copy, readonly) NSString *localIdentifier;

把localIdentifier存下来,下次打开用这个去筛选就好了

为了防止图片被删除,最好的方案是把它移到app的文件目录内。上传后移除即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题