如何在IOS中使用校验和(md5sum)等唯一字段识别照片
Posted
技术标签:
【中文标题】如何在IOS中使用校验和(md5sum)等唯一字段识别照片【英文标题】:How to identify photo with the unique field like checksum(md5sum) in IOS 【发布时间】:2015-01-24 12:58:24 【问题描述】:我正在创建一个 ios 应用程序,它可以隐藏用户被选中的照片。我可以这样做,但问题是,如果用户再次选择已选择的照片,我需要如何检查它们是 SAME ,我查看了照片的元数据信息,但这可以与其他一些具有相同元信息的照片相匹配,目前我只知道基于带有字节的整个照片数据生成校验和,我认为这可能会导致内存问题并且还会降低性能。因此需要任何专业知识的帮助。提前致谢。
__block NSMutableDictionary *imageMetadata = nil;
ALAssetsGroupEnumerationResultsBlock assetsEnumerationBlock = ^(ALAsset *result, NSUInteger index, BOOL *stop)
if (result)
[self.assets addObject:result];
NSDictionary *metadata = result.defaultRepresentation.metadata;
imageMetadata = [[NSMutableDictionary alloc] initWithDictionary:metadata];
NSLog(@"%@",imageMetadata.description);
;
【问题讨论】:
在这个 SO 中查看 Joanne 的答案:***.com/questions/4314405/… 【参考方案1】:似乎您可以在前端处理图像识别。
如果self.assets
是array
,并且即使您在tableView 中隐藏照片(这会改变indexPaths),为什么不在另一个包含所有内容的数组中使用arrayIndex
,比如说......@987654324 @。
但这只是在您用尽所有形式的元数据标识符之后?也许元数据字符串的组合可以产生一些独特的东西?
您如何在 UI 中处理这个问题? TableView
?
【讨论】:
是的,我正在使用索引,但我想为用户提供灵活性,比如他们可以删除照片、导出到文件和邮寄所有这些东西,这就是问题所在。【参考方案2】:我认为,您可以使用 ALAssetPropertyURLs
,它将资产表示 UTI 映射到唯一标识资产的 URL。
要获得这个,请使用result.defaultRepresentation.url
网址应该是assets-library://asset/asset.JPG?id=1000000477&ext=JPG:
【讨论】:
以上是关于如何在IOS中使用校验和(md5sum)等唯一字段识别照片的主要内容,如果未能解决你的问题,请参考以下文章