我们使用本地资产网址来识别来自iPhone相机胶卷的图像。 这些是此处描述的ALAssetPropertyURL:http://developer.apple.com/library/ios/#documentation/AssetsLibrary/Reference/ALAsset_Class/Reference/Reference.html
我们知道网址在备份/恢复期间保持不变。我们想使用id来唯一地识别图像(所以当我们在两个设备之间备份和恢复相同的图像时,我们想知道 - 便宜 - 这些实际上是相同的图像)。
问题是:这些本地网址有多独特?它们是每个设备的唯一(看起来如此)或者我们可以假设它们在设备中是独一无二的(我想这很难实现,所以可能不是这样做的)。 Apple的文档和源代码在这个问题上并不清楚。
我们的一个想法是使用资产的时间戳(它也会在备份恢复期间保持不变)并构建asset_unique_id = asset_id +时间戳。
有更好的想法吗?我们希望避免检查图像的内容并计算哈希值,因为它的计算量非常大,如果上述(或类似)方法有效,那就更好了。
答案 0 :(得分: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来了解它们是否是相同的图像。如果您找到了另一种我想知道的解决方案。