2012-05-28 112 views
4

我希望复制的图片库的图像,但我想在未来,以检查是否我已经进口这一形象。ALAsset唯一标识符

想象,这种情况下。

  1. 我有我的照片库中的照片。
  2. 我通过复制它将其导入到我的应用程序中。
  3. 我从图书馆中删除此照片。
  4. 在以后的时间我重新插入这张图片为我的照片库(从iPhoto同一张照片,只是没有同步这是之前的专辑,我现在有)

有一个唯一的标识符,我可以用它来比较两张图片?是唯一的网址? 或者我必须查看元数据并尝试匹配它吗? 如果是这样,你会建议什么?创建数据和位置?刚创建日期?尺寸?

感谢您的建议。

回答

3

观察

我一直在使用类似的功能,所以这是我所知道的:

  • 插入照片库中的每张照片都会有一个唯一的URL(这意味着如果你插入图像,删除它,然后再次插入,即使它是相同的图像,它会有一个新的URL)。
  • 有没有直截了当的方式知道图像是否与以前的图像重复或不。
  • 我不认为你正在试图做到这一点,但我会提醒你,你不能从iPhone照片库编程方式删除的图像。

解决方案

我真的只有处理这一个办法:创建照片的哈希值,并在一些地方保存的哈希值。如果插入的照片与以前完全相同,它应该给你相同的散​​列。您可以使用该哈希比较来确定您是否使用相同的照片。这是我正在使用的方法,似乎大部分工作可靠。我注意到一些差异,但这些通常涉及到我的工作在将它们添加到照片库之前对文件进行散列处理(我注意到,保存的照片可能与正在保存的照片不同)。

我希望这个信息帮助。如果我错过了任何东西,或者您在工作中注意到不同的结果,请告诉我。

+0

感谢您的意见。很有帮助。事实上,如果你从图书馆删除图像,如果你再次添加它,这是不同的真的很可惜,但我认为是必要的。他们必须处理具有相同名称和相同日期的相同文件的情况。幸运的是,我不必尝试匹配照片,这实际上是一种痛苦,但是您所描述的技术看起来似乎是我会去的。我担心如果你只是更新库,网址会发生变化,但它们并不是很好。再次感谢。 –