如何禁用屏幕截图或模糊内容是 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 视图点击