禁用iPhone屏幕截图功能

禁用iPhone屏幕截图功能,iphone,screenshot,Iphone,Screenshot,我正在为一个客户开发一个企业级iPhone应用程序,手头的问题是客户信息将显示在手机上。我的客户担心,这些信息可能会被iphone的屏幕捕获功能(主页+电源按钮)捕获,然后通过手机发送电子邮件或同步。有没有办法禁用屏幕捕获功能?这可以通过编程实现,还是可以通过配置文件实现?因为这是针对企业应用程序的,也许您可以在所有内容上放置一个透明的覆盖视图,在drawRect中,当它检测到层被要求渲染屏幕快照时,该视图变得不透明(可能通过查看堆栈跟踪?) 您可以尝试在每个可能的视图和图层绘制方法中设置调试点

我正在为一个客户开发一个企业级iPhone应用程序,手头的问题是客户信息将显示在手机上。我的客户担心,这些信息可能会被iphone的屏幕捕获功能(主页+电源按钮)捕获,然后通过手机发送电子邮件或同步。有没有办法禁用屏幕捕获功能?这可以通过编程实现,还是可以通过配置文件实现?

因为这是针对企业应用程序的,也许您可以在所有内容上放置一个透明的覆盖视图,在drawRect中,当它检测到层被要求渲染屏幕快照时,该视图变得不透明(可能通过查看堆栈跟踪?)


您可以尝试在每个可能的视图和图层绘制方法中设置调试点,并查看屏幕截图是否触发了任何内容。

不,没有。用户始终能够执行此功能

如果您的客户可以保留手机的所有权,他们可以使用限制屏幕捕获功能。请确保您不会将这些手机给本组织以外的任何人,否则您将违反您与苹果的企业法律协议

对于通过iPhone OS配置实用程序管理的iPad/iPhone,可以启用/禁用屏幕捕获。见第33页,其中说明:

**允许屏幕捕获:关闭此选项时,用户无法保存屏幕捕获 屏幕截图显示*

换句话说,在企业部署中,如果“客户”拥有iPad(或要求员工拥有的设备由其配置),则可以在设备级别抑制屏幕捕获

还可以检测是否发生了屏幕截图,并记录下来(这样经理可能会进行友好访问)

无法在程序控制下抑制屏幕捕获。苹果更愿意实行严格的控制,并不情愿地向企业让步。它不会给开发者带来太多好处。(你觉得在苹果种植园当佃农怎么样?)

说真的,有很好的理由来控制屏幕捕获。在教育领域,我们希望使用iPad作为安全的测试设备。在监考考试环境中,监考人可以确保学生没有相机或笔记纸来带走考试问题。因此,测试项目安全性的主要剩余风险是屏幕捕获。如果你无法抑制它,学生们可以快速捕捉他们遇到的每一个测试问题,并通过电子邮件发送给他们的朋友(或将其发布到网上或卖给备考公司)


对于在非受控条件下使用的随机消费者iPad,开发人员不具备此功能。这就是休息:-)。

是的,你至少可以用两种方法来做。巴尔的摩的互联网测试系统(ITS)在商店里有一个iPad测试应用程序,有趣的是它是“PEARSON NNAT2-Stanford 10-OLSATS”,一个PEARSON应用程序,可以用来参加这三个测试中的任何一个。看,这是免费的,你可以下载

如果您只是要求用户在启动应用程序后和继续之前使用UIAccessibilityGuidedAccessEnabled()将设备置于引导访问模式,则可以阻止用户使用“打印屏幕”或切换到任何其他任务。Examsoft是使用这种方法的供应商


这些特性通常是测试发布者和评估交付供应商所关心的;我有一篇博客文章和屏幕截图,它的方法,以及模仿Examsoft方法的代码,在这里:

还有比这更令人担心的事情:你会怎么处理用户的摄像头?你是否也担心用户可能会用另一部手机拍摄屏幕照片,或者用铅笔写下信息?drawRect不是由截图触发的,但这是个好主意。