2

我们使用本地资产 URL 来识别来自 iPhone 相机胶卷的图像。这些是此处描述的 ALAssetPropertyURL:http: //developer.apple.com/library/ios/#documentation/AssetsLibrary/Reference/ALAsset_Class/Reference/Reference.html

我们知道 URL 会在备份/恢复过程中保持不变。我们想使用 id 来唯一标识图像(因此,当我们在两个设备之间备份和恢复相同的图像时,我们想知道 - 廉价 - 这些实际上是相同的图像)。

问题是:这些本地 URL 有多独特?它们是每个设备唯一的(似乎如此)还是我们可以假设它们在设备之间是唯一的(我想这很难实现,所以可能不是这样)。Apple 的文档和源代码在这个问题上并不清楚。

我们的想法之一是使用资产的时间戳(它还在备份恢复中持续存在)并构建asset_unique_id =asset_id + timestamp。

有更好的想法吗?我们希望避免检查图像的内容和计算哈希值,因为它的计算量非常大,如果上述(或类似)方法有效,那就更好了。

4

1 回答 1

0

如果有人对此感兴趣,从我的测试中我发现每个设备的 URL 都是唯一的。事实上,我在三种不同的场景中检查了同一张图像,并得到了不同的结果:

iPhone 上的原始图像:ID = 484299F8-C176-4ED3-B944-B7E6F7BE59CE

从第二台设备(iPad)通过 Photostream:ID = 5092A342-5B7D-496D-BC1C-C9FC0BAB2D91

从照片流保存到 iPad:ID = F7D225EE-30A2-4415-A1DC-85550350ECEB

我也希望跨设备使用此 ID 来了解它们是否是相同的图像。如果您找到了另一种解决方案,我很想知道。

于 2013-09-19T19:32:14.477 回答