【问题标题】:iOS7 Screen Capture Prevention / DetectioniOS7 屏幕捕获预防/检测
【发布时间】:2013-12-03 06:58:13
【问题描述】:

在我的 iOS 应用程序中,我需要阻止屏幕截图(通过按 Home +Power 按钮的组合),或者需要在将其保存到照片库之前进行检测。 在之前的 iOS 版本中,在截图之前touchesCancelled:withEvent 会调用这个方法,但是从 iOS7 开始这不会起作用。 苹果提供通知

 UIApplicationUserDidTakeScreenshotNotification

用于检测屏幕截图。真正的问题是只有在将屏幕截图保存到照片库后才会触发。

是否有任何方法(私人/公共)可以在屏幕截图发生之前检测它,或者只是阻止屏幕截图功能。

不要认为是重复的问题,这是 iOS7 特有的问题

【问题讨论】:

  • @QED 这不是重复的,你提到的问题是几年前问的,当时有解决方案,现在 iOS7 来了,解决方案不起作用,认为这是 iOS7具体问题
  • 其实我很后悔撤稿...
  • 我不知道为什么有人在我的问题上方做了“这个问题可能已经在这里有了答案:”,上面提到的链接是几年前问和回答的,那个时候有一个解决方案。
  • 它已经被问及回答了 很多 次......因为这是一个非常好的问题。但我想你已经得到了答案……祝你好运!
  • 但是提到的答案只是针对特定设备的,我正在寻找特定于应用程序的,没有人询问对此的私有 API 支持

标签: ios iphone objective-c ios7 screenshot


【解决方案1】:

不,自iOS7以来没有任何变化,将来也不会改变,这是一个概念问题,iOS应用程序无法控制设备公共功能,考虑您关闭“截屏”而其他应用程序需要它!!这个应用程序如何知道这一点?

您可以做的最好的事情是使用@QED 有效答案中提到的配置文件。

【讨论】:

  • 我也在寻找任何可用的私有 API,它不是 Appstore 应用程序。所以期待更多的想法
【解决方案2】:

您可以使用配置文件进行限制,如链接问题中所述。

查看iPhone Configuration Proifile Reference限制负载部分,从第 27 页开始。您想要的密钥是allowScreenShot,在第 30 页底部进行了说明。

此外,链接参考指出有多种方法可以安装配置文件。您可以在应用程序中为用户提供一些方法来触发您的服务器安装/重新安装您的个人资料。只是一个想法,我没有这方面的经验。

我无法使用私有 API。你可以查看http://www.modmyi.com,或者在 IRC 上窥探一些越狱社区。那里有很多专家可能会向您指出 API,但他们并不倾向于坚持 SO。

祝你好运!

【讨论】:

  • 这也是一种方法,即使它不是编程方法。谢谢@QED
  • 我的印象是,这是唯一的方式。
  • 这只会禁用设备的屏幕截图功能,我正在寻找特定于应用程序的解决方案
猜你喜欢
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
相关资源
最近更新 更多