禁用iPhone截图function
我正在为客户开发一个企业iPhone应用程序,手头的问题是客户信息将在手机上显示出来。 我的客户担心可以使用iphone屏幕捕捉function(家庭+电源button)捕获信息,然后通过电话发送或同步。 有什么办法可以禁用屏幕截图function吗? 这可以通过编程方式完成,也可以通过configuration文件?
如果您的客户可以保留手机的所有权,他们可以使用iPhoneconfiguration实用程序限制屏幕捕获function。 确保您不要将这些电话交给该组织以外的任何人,否则您违反了与Apple的企业法律协议。
由于这是一个企业应用程序,也许你可以把一个透明的覆盖视图放在一切之上,当它检测到图层被要求渲染一个屏幕截图的时候,在一个drawRect中变得不透明了(也许通过查看堆栈跟踪?)
您可以尝试在每个可能的视图和图层绘制方法中设置debugging点,并查看是否有任何内容由屏幕截图触发。
对于通过iPhone OSconfiguration实用程序pipe理的iPad / iPhone,可以启用/禁用屏幕截图。 请参阅http://manuals.info.apple.com/en_US/Enterprise_Deployment_Guide.pdf上的第33页,其中说:;
**允许屏幕截图:当此选项closures时,用户无法保存屏幕截图。*
换句话说,在“客户”拥有iPad的企业部署中(或者要求员工拥有的设备由ITconfiguration)屏幕捕获可以在设备级别被抑制。
也可以检测屏幕截图是否发生,并logging下来(所以也许经理可以进行友好的访问)。
在程序控制下禁止屏幕截图是不可能的。 苹果喜欢严格控制,勉强对企业有所贡献。 这对开发人员来说并没有什么好处。 (你喜欢在苹果种植园做份工?)
严重的是,有很好的理由来控制屏幕截图。 在教育领域,我们希望使用iPad作为安全的testing设备。 在一个监督的testing环境中,监考员可以确保学生没有相机或便条来带走testing问题。 因此testing项目安全的主要剩余风险就是屏幕截图。 如果你无法压制,学生可以迅速将他们遇到的每个testing问题都解决并通过电子邮件发送给他们的好友(或在线发布或者将其出售给testing准备公司)。
对于在不受控制的条件下使用的随机消费者iPad,开发人员不具备这种能力。 他们的rest:-)。
不,没有。 用户总是能够执行这个function。
是的,你可以至less用两种方法做到这一点。 巴尔的摩的互联网testing系统(ITS)在商店里有一个iPadtesting应用程序,有趣的是“Pearson NNAT2 -Stanford 10 – OLSATS”,这是一个Pearson应用程序,可以用来进行这三项testing。 看到https://itunes.apple.com/us/app/pearson-nnat2-stanford10-olsat8/id546817211?mt=8 – 它是免费的,你可以下载它。
如果您在启动应用程序之后以及在继续使用UIAccessibilityIsGuidedAccessEnabled()之后只需要用户将设备置于引导访问模式,则可以防止用户使用“打印屏幕” – 或切换到任何其他任务。 Examsoft是一个使用这种方法的供应商。
testing发布商和评估交付供应商通常会考虑这些function; 我有一个博客文章和屏幕截图的ITS方法,以及代码模拟Examsoft的方法,在这里: http ://mindstormtools.com/2013/02/23/ipads-for-assessment-test-delivery-profile/和http ://mindstormtools.com/2013/02/20/ipads-for-assessment-guided-access/