lockingiPhone / iPod / iPad,所以它只能运行一个应用程序

我们希望“locking”iPhone / iPod / iPad,以便用户只能运行一个应用程序(我们在内部开发了这个应用程序)。 我猜我们会看越狱,然后replace(?)默认的Springboard应用程序。

我们能做到吗? 如果是这样,怎么样?

编辑: 里克在下面发布了一个很好的答案。 您可以从下面的URL下载一个mobileconfig文件的副本,如果您在iOS设备上访问此URL,Safari将提示您安装该configuration文件。 不要忘记重新启动你的设备:)

http://ipadhire.co.nz/lockdown.mobileconfig

编辑编辑: brainray张贴在下面,并指出,在iOS 6中有一个名为“引导访问”,允许您将设备locking到特定的应用程序的新function。 很可惜,这个function在一年前还没有出现 – 会为我们节省一点麻烦:)

编辑编辑编辑:iOS 7现在包括一个'应用程序locking'有效载荷作为设备configuration文件的一部分。 从苹果文档: “通过安装应用程序锁有效载荷,设备被locking到一个单一的应用程序,直到有效载荷被删除。主页button被禁用,设备在唤醒或重新启动时自动返回到指定的应用程序。

在这里阅读更多关于它:

https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010206-CH1-SW4

可以将iPad或iPhone置于“存储演示”模式,以使主页button和滑动到主页手势处于禁用状态。 如果您在Apple Store中看到了运行智能标志应用程序的iPad,那么您将知道我的意思。

要做到这一点实际上是非常简单的,所有你需要做的就是从networking服务器上安装一个正确格式化的移动configurationplist。

要从networking提供您的configuration,所有你需要做的是将iPhone的指导,包含configuration文件的url。 只需在safari中打开您的.mobileconfig文件的链接。 如果你没有networking空间,你可以使用Dropbox的公用文件夹的URL或开关你的Macnetworking服务器。

你也可以使用IPCU来加载configuration,但是我没有尝试过。 这个configuration文件不会在iPhoneconfiguration实用程序中加载,因为它使用了IPCU不知道的密钥。 您可以将其与任何其他企业configurationconfiguration文件结合使用。

编辑@cocoanetics指出,IPCU不需要删除configuration文件。 但请注意,为了让您的设备恢复正常,您需要执行以下操作:

  1. 重启
  2. 首先打开设置应用程序 – 不要打开其他任何东西,否则需要重新启动
  3. 设置 – >一般 – >configuration文件 – > [您的configuration文件]删除它。
  4. 重启

你应该恢复正常。

我已经包括一个示例plist,将禁用主页button,并将您的设备locking到应用程序。

谨防

安装此configuration文件后,设备重启时启动的第一个应用程序将是唯一的应用程序,直到您重新启动设备。 正如@卡瓦斯所说,这完全禁用返回到主屏幕(除非你的应用程序崩溃),包括辅助function辅助触摸的能力。

请注意,在安assembly置文件后,您必须重新启动设备(关机,开机)才能生效。 要删除configuration文件,将设备插入IPCU并删除它,然后重新启动设备。 一切都会恢复正常。

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>PayloadDescription</key> <string>Disables home</string> <key>PayloadDisplayName</key> <string>Home Button Lock</string> <key>PayloadIdentifier</key> <string>com.hbkill.kiosk</string> <key>PayloadOrganization</key> <string>My Org</string> <key>PayloadType</key> <string>com.apple.defaults.managed</string> <key>PayloadUUID</key> <string>B2D02E2D-BAC5-431B-8A29-4B91F71C9FC1</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadContent</key> <array> <dict> <key>DefaultsDomainName</key> <string>com.apple.springboard</string> <key>DefaultsData</key> <dict> <key>SBStoreDemoAppLock</key> <true/> </dict> </dict> </array> </dict> </array> <key>PayloadDescription</key> <string>Disables Home Button</string> <key>PayloadDisplayName</key> <string>Home Button Lock</string> <key>PayloadIdentifier</key> <string>com.hbkill</string> <key>PayloadOrganization</key> <string>My Org</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>614D1FE3-F80D-4643-AF6B-D10C4CC8737A</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist> 

你可能已经从这里走了,但我想我会在这里发表这个答案,因为我遇到了这个问题,而我试图找出如何做同样的事情。

这是iOS 6的一个特性,可以使用,而不用冒险的尝试。 这就是所谓的“导向访问”。 我的小教程就在这里 。

编辑:如果设备的电池在受限制的用户手中时运行空的情况下,用户可以重新加载设备,它将重新启动没有指导访问。 但是,如果您select使用设备的密码,这应该不成问题。

http://www.apple.com/support/ipad/enterprise/

苹果公司提供了企业configuration工具,允许控制哪些应用程序被允许等。这似乎是通过configuration文件pipe理。 请参阅链接了解更多详情

里克所描述的(不言而喻更简单)方法的替代方法是:

  • 禁用主页button(例如物理覆盖它),
  • 禁用“设置”中的五指手势和屏幕locking
  • 安装一个“蹦床”重新启动应用程序,如果它崩溃 。

我同意几小时前的评论:设置>常规>限制应该做的伎俩。 如果用户不能安装任何东西,不能访问Safari或邮件,那么没有理由永远退出你的应用程序。

阻止来自设备的互联网访问(Wi-Fi上的MACfilter可以做到这一点)。 任何其他非互联网相关的问题(音乐,游戏等)都应该已经可以由当前的IT基础设施来解决(除非您的开发者在工作中播放和听MP3)。

我发现了一种方法来退出这个locking状态。 我已经通过苹果蠹安装“背景”,使您的应用程序在后台运行,如果你按Home键一秒或更多。 现在,当我长按主页button,我回到主屏幕。

就这些。

关注longpress。

嗯,不知道这是一个答案还是一个评论,但是 – 现在问题的一部分的解决scheme有一个弱点 – 我们的支持人员使用这个,并发现,如果你“点击电源button'软'然后在开机时按住home键并滑动解锁,有时iPad会在主页上启动,否则,XXAPPLCATIONXX会挂起,然后退出到主页,这样X无法访问主页。