我应该如何保护我的 iOS 应用程序中的敏感内容不被截图? [复制]

Posted

技术标签:

【中文标题】我应该如何保护我的 iOS 应用程序中的敏感内容不被截图? [复制]【英文标题】:How should I protect the sensitive content in my iOS app from screenshots? [duplicate] 【发布时间】:2019-03-08 14:58:03 【问题描述】:

当用户尝试截屏时,是否有任何方法可以在 ios 中制作模糊 ViewController?

或者在保存截图之前执行某个功能的任何选项?

【问题讨论】:

我正在寻找保存截图前的执行功能。 那个问题和 cmets 回答了你的问题 - 这是不可能的 我发现像screenshieldkit.com 这样的付费可能性,但我正在寻找任何开源? security.stackexchange.com/questions/177585/… ScreenShieldKit 正在申请专利的技术 (...) - 他们究竟希望获得哪些专利?使用公开可用的 API?这听起来像是一大堆营销巨无霸 【参考方案1】:

并非如此,但即使有,这也不会阻止用户对屏幕拍照,因此它并不能很好地保护数据。

【讨论】:

【参考方案2】:

使用任何公共 API 都无法实现您想要的。在较旧的 iOS 版本中,可以依靠触摸屏幕来显示敏感信息,但由于 iOS 7 截屏不再取消触摸。

依靠观察NSNotification.Name.UIApplicationUserDidTakeScreenshot 通知也是不可能的,因为该通知是在截屏之后发布的,而不是之前 - 它遵循带有DidTake 声明的iOS 命名约定,并且没有WillTake 等效项此通知。

评论中链接的解决方案 - ScreenShieldKit - 似乎也没有用,因为信息安全子论坛上的 this post 声称它确实依赖于取消触摸,如前所述,它不再有效。

无论如何:不,目前没有已知的方法可以使用公开可用的 API 来防止截屏。

【讨论】:

以上是关于我应该如何保护我的 iOS 应用程序中的敏感内容不被截图? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何保护 iOS 中的 SQLite 数据库?

Spring Boot 配置中的敏感信息如何保护?

Spring Boot 配置中的敏感信息如何保护?

知名搜索引擎数据库泄露,你搜过的敏感内容可能曝光了!

如何保护 SpringBoot 配置文件中的敏感信息

react-native 应用程序中如何保护敏感数据