如何禁用屏幕截图或模糊内容是 iOS 之类的 ScreenShieldKit?

Posted

技术标签:

【中文标题】如何禁用屏幕截图或模糊内容是 iOS 之类的 ScreenShieldKit?【英文标题】:How to disable screenshot or blur the content is iOS like ScreenShieldKit? 【发布时间】:2018-08-09 11:51:57 【问题描述】:

我知道我们可以通过观察者UIApplicationUserDidTakeScreenshotNotification 获得[NSNotificationCenter defaultCenter]。但这并不妨碍截图。

我想构建类似ScreenShieldKit 的东西,它会在截屏之前模糊内容。我已经测试了使用这个 SDK 的 BlackBox 应用程序,即使我们从 Xcode 设备和模拟器截取屏幕截图,我也能正常工作。我想知道他们是如何设法防止这种情况发生的?

是否可以制作自定义 uilable 或 uiimage 并将其转换为 DRM 视频流并在屏幕上显示?

是否有任何私有框架可以防止这种情况发生?

我知道有人评论说有人可以使用其他设备录制或捕获屏幕,我也有单独的过程来防止这种情况。

【问题讨论】:

【参考方案1】:

目前为止,ios中还没有阻止用户在应用程序运行时截图的方法,那是因为你无权删除用户照片库中的照片。如果您可以访问用户的照片,那将完全是一个安全问题。

是的,您可以在 android 中执行这些操作,但在 iOS 中则不行。

【讨论】:

如何在 iOS 截屏和模糊我的内容之前得到通知?这样用户只能在屏幕截图中看到模糊内容 您可以看到它的实际效果。检查ScreenShieldKit。我想知道他们是怎么做到的 @LalKrishna 这是合法的吗?我不这么认为它是合法的。你说什么? 我不认为这是非法的。必须有某种方法来做到这一点。他们也在等待专利 我很想知道他们是如何工作的。他们是如何做到这一点并上传到 App Store 的 ..??有没有私有框架?【参考方案2】:

试试看,

使用 swift 4 并在

上放置断点
func applicationWillResignActive(_ application: UIApplication) 

然后

 func applicationDidBecomeActive(_ application: UIApplication) 

我目前正忙于一些事情,但我还需要搜索解决方案,这样我就不必付钱给那些 screensheildkit 人了。

如果 resignActive 委托被调用,那么只需在根目录上添加一个图像,如果没有,则等待解决方案。

【讨论】:

以上是关于如何禁用屏幕截图或模糊内容是 iOS 之类的 ScreenShieldKit?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 React-Native 在 iOS 中禁用屏幕截图

IOS7 风格模糊 UICollectionViewCell 视图点击

在屏幕截图中模糊矩形

如何以编程方式关闭/禁用 iOS 11 中引入的屏幕截图弹出框?

如何产生类似于 iOS 7 模糊视图的效果?

在 Cordova iOS 应用程序上禁用屏幕截图/记录