在AppStore(中国),一款名为腾讯手机管家的应用发布了一系列与照片相关的功能,包括检测照片是否为用户截图,删除照片。
我有这个应用程序的截图来演示我的问题(我自己添加了英文文本,因为应用程序只显示中文):
This app knows what photos are screenshots and what not
当您点击底部的删除按钮时,它会显示:
Asking permission from user to delete photos
据我所知,iOS中的照片API (AssetsLibrary,PHPhotoLibrary)不能给出照片的绝对路径,iOS SandBox也不允许应用程序删除用户的资产,这使得删除用户的照片几乎是不可能的。保存在iOS设备中的所有照片都遵循相同的命名系统:"IMG_001.jpg",这使得无法检测照片是否是从他们的名字截图。
但很明显,这个应用程序实现了这两个功能。有人对此有什么想法吗?
谢谢!
发布于 2016-09-26 09:15:42
对于截图,它的UTI总是一个"public.png“,和screen的大小相同(请确保你在屏幕边界上有multiply UIScreen scale的宽度和高度),只需要检查这两个元数据,就可以很容易地识别出截图。
希望这能对你有所帮助
发布于 2021-06-07 16:25:18
您可以使用PHAsset的mediaSubtypes
属性进行检查。
let types = phAsset.mediaSubtypes /// phAsset is a PHAsset
let isScreenshot = types.contains(.photoScreenshot) /// true if is screenshot
https://stackoverflow.com/questions/39698484
复制相似问题