在AppStore(中国),一款名为腾讯手机管家的App发布了一系列与照片相关的功能,包括检测照片是否为用户截图、删除照片等功能。
我在这里截取了这个应用程序的截图来演示我的问题(我自己为你添加了英文文本,因为该应用程序只显示中文):
This app knows what photos are screenshots and what not
当你点击底部的删除按钮时,它会显示:
Asking permission from user to delete photos
据我所知,iOS 中的 Photo API(AssetsLibrary、PHPhotoLibrary)没有给出照片的绝对路径,iOS SandBox 也不允许应用删除用户的 Assets ,这使得删除用户的照片几乎不可能的。 iOS 设备中保存的所有照片都遵循相同的命名系统:“IMG_001.jpg”,这使得无法从其名称中检测照片是否为截图。
但显然,这个应用程序实现了这两个功能。有人对此有任何想法吗?
谢谢!
Best Answer-推荐答案 strong>
您可以使用 PHAsset 的 mediaSubtypes 进行检查属性。
let types = phAsset.mediaSubtypes /// phAsset is a PHAsset
let isScreenshot = types.contains(.photoScreenshot) /// true if is screenshot
关于iOS,如何知道照片是否是用户截取的屏幕截图?如何删除照片中的照片?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39698484/
|