首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS,如何知道照片是否是用户截图?如何删除照片中的照片?

iOS,如何知道照片是否是用户截图?如何删除照片中的照片?
EN

Stack Overflow用户
提问于 2016-09-26 16:55:27
回答 2查看 2.4K关注 0票数 6

在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",这使得无法检测照片是否是从他们的名字截图。

但很明显,这个应用程序实现了这两个功能。有人对此有什么想法吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2016-09-26 17:15:42

对于截图,它的UTI总是一个"public.png“,和screen的大小相同(请确保你在屏幕边界上有multiply UIScreen scale的宽度和高度),只需要检查这两个元数据,就可以很容易地识别出截图。

希望这能对你有所帮助

票数 1
EN

Stack Overflow用户

发布于 2021-06-08 00:25:18

您可以使用PHAsset的mediaSubtypes属性进行检查。

代码语言:javascript
运行
复制
let types = phAsset.mediaSubtypes /// phAsset is a PHAsset
let isScreenshot = types.contains(.photoScreenshot) /// true if is screenshot
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39698484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档