Блокировка iPhone / iPod / iPad, чтобы он мог запускать только одно приложение - PullRequest
57 голосов
/ 16 февраля 2011

Мы бы хотели заблокировать iPhone / iPod / iPad, чтобы пользователь мог запустить только одно приложение (мы разработали это приложение для себя).Я предполагаю, что мы рассмотрим джейлбрейк, а затем заменим (?) Стандартное приложение Springboard.

Можем ли мы сделать это?Если да, то как?


РЕДАКТИРОВАТЬ: iOS 7 теперь включает полезную нагрузку «Блокировка приложения» как часть профиля конфигурации устройства.Из документов Apple:

"При установке полезной нагрузки блокировки приложения устройство блокируется для одного приложения до тех пор, пока полезная нагрузка не будет удалена. Кнопка« Домой »отключена, и устройство возвращаетсяуказанное приложение автоматически после пробуждения или перезагрузки. "

Подробнее об этом здесь:
https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf

Ответы [ 8 ]

96 голосов
/ 25 января 2012

Можно перевести iPad или iPhone в режим «Store Demo», чтобы отключить кнопку «Домой» и «Провести пальцем до дома».Если вы видели, что на iPad в Apple Store работают приложения для «умных знаков», вы поймете, что я имею в виду.

Сделать эту работу довольно просто, все, что вам нужно сделать, это установить правильно отформатированный мобильный телефон.config plist по беспроводной сети с веб-сервера.

Чтобы доставить конфигурацию из Интернета, все, что вам нужно сделать, это направить iPhone на URL-адрес, содержащий профиль.Просто откройте ссылку на ваш файл .mobileconfig в Safari.Если у вас нет веб-пространства, вы можете просто использовать URL-адреса общедоступных папок Dropbox или включить веб-сервер Mac.

Возможно, вы также можете загрузить конфигурацию с помощью IPCU, но я не пробовал этого. Этот файл конфигурации не будет загружаться в утилиту конфигурации iPhone, поскольку он использует ключи, о которых IPCU не знает.Вы можете объединить это с любыми другими профилями конфигурации предприятия, которые вы используете.

EDIT : @ cocoanetics указал, что IPCU не требуется для удаления профиля.Тем не менее, обратите внимание, что для того, чтобы вернуть ваше устройство в нормальное состояние, вам нужно сделать следующее:

  1. Перезагрузить
  2. Сначала откройте приложение настроек - больше ничего не открывайте, иначе вам понадобитсядля перезагрузки снова
  3. Настройки-> Общие-> Профили -> [ваш профиль] удалите его.
  4. Перезагрузите

Вы должны вернуться в нормальное состояние.

Я включил пример списка, который отключит кнопку «Домой» и заблокирует ваше устройство в приложении.

ВНИМАНИЕ

Как только этот профильустановило первое приложение, которое запускается при перезагрузке устройства, будет единственным приложением, которое будет работать до тех пор, пока вы не перезагрузите устройство. Как сказал @ 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>

Возможно, вы уже отошли от этого, но я подумал, что опубликую этот ответ здесь, когда натолкнулся на вопрос, пытаясь понять, как это сделать.то же самое.

23 голосов
/ 18 октября 2012

Это особенность iOS 6, которую можно использовать без хакерских попыток.Это называется «управляемый доступ».Небольшое учебное пособие - здесь .

РЕДАКТИРОВАТЬ: если батарея устройства разряжается, когда он находится в руках пользователя с ограниченными правами, пользователь может перезагрузить устройство и перезагрузится без управляемого доступа,Однако, если вы решите использовать пароль для устройства, это не должно быть проблемой.

4 голосов
/ 01 марта 2012

Альтернативой (по общему признанию, гораздо более простому) подходу, описанному Риком, является:

3 голосов
/ 20 января 2012

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

Apple предоставляет инструменты корпоративной конфигурации, которые позволяют контролировать, какие приложения разрешены и т. Д. Это делается через управление профилями. Смотрите ссылку для более подробной информации

2 голосов
/ 16 февраля 2011

Я согласен с комментарием, сделанным несколько часов назад: Настройки> Общие> Ограничения должны помочь. Если пользователь не может ничего установить, не может получить доступ к Safari или Mail, то нет никаких причин выходить из приложения.

0 голосов
/ 14 января 2013

Гм - не был уверен, является ли это ответом или комментарием, но - у решения, которое теперь является частью вопроса, есть недостаток - наша служба поддержки воспользовалась этим и обнаружила, что если вы «нажмете кнопку питания, чтобы« софт-off 'затем удерживайте кнопку «Домой» при включении и сдвиньте для разблокировки. Иногда iPad запускается на домашней странице или же XXAPPLCATIONXX зависает и затем выпадает на домашнюю страницу. В любом случае X может получить доступ к домашней странице безкод доступа. "

0 голосов
/ 14 сентября 2012

Я нашел один способ выйти из этого состояния блокировки.Я установил «Backgrounder» через Cydia, чтобы приложение работало в фоновом режиме, если вы нажмете кнопку «Домой» в течение одной секунды или более.и теперь, когда я нажимаю кнопку возврата домой, я возвращаюсь к начальному экрану.

это все.

обратите внимание на нажатие клавиши.

0 голосов
/ 16 февраля 2011

Блокировка доступа в интернет с устройства (MAC-фильтр на Wi-Fi может помочь). Любая другая проблема, не связанная с Интернетом (музыка, игры и т. Д.), Уже должна решаться текущей ИТ-инфраструктурой (если ваши разработчики не играют и не слушают MP3 на работе).

...