我正在编写一个简单的应用程序来将一组图像复制到用户的照片库,以便用户可以将它们用作背景。问题是如果用户不止一次运行应用程序,重复的图像将被复制到照片库。鉴于Apple对访问照片库内容的限制,如果有的话,最简单的方法是避免将重复文件写入库中?
本
答案 0 :(得分:0)
您可以将已保存在应用程序中的图像数据存储到文件中或使用Core Data存储,这样您就知道哪些已保存,哪些没有。 ÿ
答案 1 :(得分:0)
这个答案有点迟了,但迟到的答案总比没有答案好。答案是没有办法检查照片库(PL)是否有重复图像(至少在公共API的约束下)。写入照片库的唯一方法是通过UIKit全局函数:
void UIImageWriteToSavedPhotosAlbum (
UIImage *image,
id completionTarget,
SEL completionSelector,
void *contextInfo
);
此代码只是将UIImage的实例写入照片库。它的四个参数都不代表可能与图像一起保存的附加的,可能识别的对象。它包装的UIImage或CGImage也没有为这种“元数据”提供插槽。当然,总是可以继承子类,但遗憾的是没有办法检查PL的内容。 PL是一个只写的持久存储,其内容,至少就API程序员而言,基本上是匿名的。像黑洞一样,照片库有一个“单向表面”。