【问题标题】:Lock-down iPhone/iPod/iPad so it can only run one app锁定 iPhone/iPod/iPad,使其只能运行一个应用程序
【发布时间】:2011-06-28 01:27:35
【问题描述】:

我们想“锁定”一部 iPhone/iPod/iPad,以便用户只能运行一个应用程序(我们在内部开发了这个应用程序)。我猜我们会考虑越狱,然后替换(?)默认的 Springboard 应用程序。

我们可以这样做吗?如果有,怎么做?


编辑:iOS 7 现在包含一个“应用程序锁定”负载作为设备配置文件的一部分。来自 Apple 文档:

“通过安装应用程序锁定负载,设备将锁定到单个应用程序,直到负载被删除。主页按钮被禁用,设备在唤醒或重启时自动返回到指定的应用程序。”

在此处了解更多信息:
https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf

【问题讨论】:

  • 您为什么要这样做?通过给他们一个严重残废的设备,你更有可能创造一个非常不快乐的用户。再加上他们提出了一个很好的理由(他们会)在那里放一些其他东西(电子邮件、网页浏览等),你就会浪费你的努力。我建议从长远来看,最好为您的用户预加载应用程序,而不是损坏设备。
  • “用户”是我们公司的技术人员。我们为他们提供设备来帮助他们完成一项非常具体的任务,并且我们开发了软件来帮助他们。它们不是个人设备,它们是公司设备,每天结束时将停靠在车间进行充电。我们不希望技术人员浏览网页/玩游戏/音乐/电子邮件等。听起来像纳粹,我知道……但事实就是这样。
  • This answer 可以帮助您(使用内置的限制功能)。
  • 这是 iOS 6 的一项功能,无需 hacky 尝试即可使用。它被称为“引导访问”,请参阅下面的答案。
  • 非常好。一直在为我的 iOS 5 上的 3GS 寻找类似的东西。该电话仅由非技术性老人用于 Skype 通话。将设备限制为仅使用 Skype 可以为用户省去很多麻烦。

标签: iphone security ipad ipod jailbreak


【解决方案1】:

这是 iOS 6 的一项功能,可以在没有 hacky 尝试的情况下使用。它被称为“引导访问”。我的小教程是here

编辑:如果设备的电池在受限制的用户手中耗尽时,用户可以重新加载设备,并且设备将在没有引导访问的情况下重新启动。但是,如果您选择为设备使用密码,这应该不是问题。

【讨论】:

    【解决方案2】:

    嗯- 不确定这是答案还是评论,但是 - 现在是问题的一部分的解决方案有一个弱点 - 我们的支持人员使用它并发现如果您“点击电源按钮以 '软-off' 然后在开机时按住主页按钮并滑动解锁。有时 iPad 会在主页上启动,否则 XXAPPLCATIONXX 会挂起然后退出主页。无论哪种方式 X 都可以在没有密码。”

    【讨论】:

    • 这是使用引导访问模式还是配置文件?
    • 正确。正如 Rick 在他的回答中指出的那样,所有配置文件所做的就是禁用主页按钮。此外,iPad 首次开机时将始终在主屏幕上启动;)(无论 iPad 是否安装了配置文件。)
    【解决方案3】:

    我找到了一种退出这种家庭锁定状态的方法。 我已经通过 cydia 安装了“backgrounder”,如果您按下主页按钮一秒钟或更长时间,它会使您的应用程序在后台运行。 现在,当我长按主页按钮时,我会回到主屏幕。

    仅此而已。

    注意长按。

    【讨论】:

      【解决方案4】:

      可以将 iPad 或 iPhone 置于“商店演示”模式,从而禁用主页按钮和滑动到主页手势。如果您在 Apple Store 中看到运行智能签名应用程序的 iPad,那么您就会明白我的意思。

      实现这项工作实际上非常简单,您需要做的就是通过网络服务器无线安装格式正确的移动配置 plist。

      要从网络上传递您的配置,您只需将 iPhone 定向到包含配置文件的 url。只需在 Safari 中打开指向您的 .mobileconfig 文件的链接。如果您没有网络空间,您可以使用 dropbox 公用文件夹 URL 或打开您的 mac 网络服务器。

      您也可以使用 IPCU 加载配置,但我没有尝试过。 此配置文件不会加载到 iPhone 配置实用程序中,因为它使用 IPCU 不知道的密钥.您可以将其与您使用的任何其他企业配置文件结合使用。

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

      1. 重启
      2. 首先打开设置应用程序 - 不要打开其他任何东西,否则您需要重新启动
      3. 设置->常规->个人资料->[您的个人资料]将其删除。
      4. 重启

      你应该恢复正常了。

      我包含了一个示例 plist,它将禁用主页按钮并将您的设备锁定到应用程序中。

      注意

      安装此配置文件后,在设备重新启动时启动的第一个应用程序将是唯一会运行的应用程序,直到您再次重新启动设备为止。 正如 @Cawas 所说,这完全禁用了返回主屏幕的功能(除非您的应用崩溃),包括辅助功能触控。

      请注意,安装配置文件后,您必须重新启动设备(关闭电源、打开电源)才能使其生效。要删除配置文件,请将设备插入 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>
      

      您可能已经从这里继续前进,但我想我会在这里发布这个答案,因为我在试图弄清楚如何做同样的事情时遇到了这个问题。

      【讨论】:

      • 重要说明,您的文件必须命名为 something.mobileconfig 我花了大约一个小时的沮丧才意识到这一点。感谢您发布 Rick,这正是我所需要的。
      • 您也可以通过“设置”应用删除配置文件。无需 IPCU。
      • @patrick 我不太清楚您所说的应用程序 ID 是什么意思。如果您指的是 PayloadUUID 键的值,那么实际值是任意的,只要它的值对于您要安装它的设备是唯一的。最简单的方法是使用 OSX 命令行工具 uuidgen。 StudioIMac:~ rick$ uuidgen 85E0851C-AC7F-4CB2-ACBF-82B46E544043
      • 好吧,我不明白应该先启动哪个应用程序,我想我应该传递应用程序的ID。好像 SBStoreDemoAppLock 是最先启动的应用程序,对吗?那么我怎样才能改变它来启动一个webapp(如果可能的话)?谢谢:)
      • 所有配置都是禁用主页按钮,所以你先开始什么都没关系。在启动时控制设备的用户决定启动哪个应用程序。
      【解决方案5】:

      Rick 描述的(当然更简单的)方法的替代方法是:

      【讨论】:

        【解决方案6】:

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

        Apple 提供企业配置工具,允许控制允许的应用程序等。这似乎是通过配置文件管理完成的。详情见链接

        【讨论】:

          【解决方案7】:

          我同意几个小时前的评论:设置>常规>限制应该可以解决问题。如果用户无法安装任何东西,无法访问 Safari 或 Mail,那么就没有理由退出您的应用。

          【讨论】:

            【解决方案8】:

            阻止设备访问互联网(wi-fi 上的 MAC 过滤器可以解决问题)。当前的 IT 基础设施应该已经可以解决任何其他与互联网无关的问题(音乐、游戏等)(除非您的开发人员在工作中播放和收听 MP3)。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-04-09
              • 1970-01-01
              • 2010-12-26
              • 1970-01-01
              • 2015-08-16
              相关资源
              最近更新 更多