我有一个imagePickerController
用于将照片从库中导入我的应用程序。
在 中ALAssetsLibraryAssetForURLResultBlock
,我试图找出我在块中获得的 ALAsset 是作为屏幕截图拍摄的照片,还是由相机拍摄的“真实”照片。
我试图浏览 ALAsset 的元数据字典,但找不到任何可能适合的标志/指示。
有人有想法么?
我有一个imagePickerController
用于将照片从库中导入我的应用程序。
在 中ALAssetsLibraryAssetForURLResultBlock
,我试图找出我在块中获得的 ALAsset 是作为屏幕截图拍摄的照片,还是由相机拍摄的“真实”照片。
我试图浏览 ALAsset 的元数据字典,但找不到任何可能适合的标志/指示。
有人有想法么?
对于屏幕截图,它的 UTI 总是一个“public.png”并且与屏幕大小相同(确保您在屏幕边界宽度和高度上乘以 [UIScreen scale]),只需检查这两个元数据,您就可以轻松识别屏幕截图。
将MetaData添加到UIImage同时保存到 Photo Library。UIImage 的相同元数据可用于了解其是否截图。
好吧,我正在研究和试验.. 我找到的最接近的解决方案是基于 iPhone 屏幕截图不会产生 EXIF 记录(而所有其他生成的照片都会生成它们)的事实。
因此,一旦在选择器中选择了一张照片,我就会检查照片的元数据是否包含 EXIF 记录,如果不包含 - 我断定照片是屏幕截图。
我发现它是目前“尽可能好”的解决方案,尽管它不是官方解决方案。
干杯。