2013-02-25 2 views
8

Я делаю приложение, которое требует полного внимания пользователей до достижения указанной цели. перед достижением цели, если пользователь пытается нажать кнопку «домой», он должен быть отключен или как «режим киоска» в ios6. Мне просто нужно было программно запускать при запуске приложения, не делайте ничего, вручную изменяя меню настроек в iPhone/iPad. После завершения цели в моем приложении, кнопка дома должна быть включена. Приложение предназначено для предприятий. Поэтому нет необходимости в одобрении магазина приложений. Как это сделать? заранее спасибо.Как включить программный режим «киоска» в ipad?

Редактировать: Я читал о «подвижной конфигурации plist». Это необходимо для перезагрузки устройства. Но я не хочу перезагружать устройство. Когда приложение будет запущено, он должен позаботиться обо всем (программно). Я не хочу, чтобы вмешательство пользователей/супервизоров в этом. Просто хотите отключить домашнюю кнопку, как в «Руководстве доступа», но программно внутри моего приложения. Есть ли доступная приватная api из «Guided Access» для отключения кнопки «домой»?

Примечание: не для взлома несовершеннолетнего устройства. Предназначен для корпоративного лицензированного приложения.

+1

Я не думаю, что это разрешен ... – Sagrian

+0

"мобильные конфигурации PLIST", необходимой для перезагрузки устройства. Но я не хочу перезагружать устройство. Как только мое приложение будет запущено, оно должно взять все (программно). Я не хочу, чтобы вмешательство пользователей/супервизоров в этом. Просто хотите отключить домашнюю кнопку, например, в режиме управляемого доступа, но программно. –

ответ

2

Без использования личных фреймворков или устройства с взломом вы не можете автоматически отключить домашнюю кнопку. Самое близкое, что вы можете сделать, это то, что ваш конечный пользователь использует использование управляемого доступа, чтобы потребовать трехкратный щелчок кнопки «домой» для выхода из приложения. Вначале необходимо включить управляемый доступ в приложении «Настройки» в разделе «Общие»> «Доступность».

Смотрите также: Disable Home Button Without Rebooting Device - Stack Overflow

+0

Спасибо. но все еще нет точного решения в вышеупомянутой ссылке. –

+0

Точно. Эта тема была поднята раньше, и на данный момент решения нет. – Jeremy1026

11

Zachary Christopoulos имеет пост на этом, используя "мобильную конфигурации PLIST".

После этого профиль устанавливается первое приложение, которое запускается, когда устройство перезагружается будет единственным приложением, которое будет работать до перезагрузки устройство снова.

Пример PLIST из Zachary's post:

<?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 the home button.</string> 
      <key>PayloadDisplayName</key> 
      <string>Home Button Lock</string> 
      <key>PayloadIdentifier</key> 
      <string>com.zchristopoulos.kiosk</string> 
      <key>PayloadOrganization</key> 
      <string>Zachary Christopoulos</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.zchristopoulos.hbkill</string> 
    <key>PayloadOrganization</key> 
    <string>Zachary Christopoulos</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> 
+0

Спасибо. Но мне не нравится перезагружать устройство. Как только мое приложение будет запущено, оно должно взять все (программно). Я не хочу, чтобы вмешательство пользователей/супервизоров в этом. –

+0

Это больше не поддерживается iOS 7. Это не официальный способ. https://devforums.apple.com/thread/216385?tstart=0 – Prcela

+1

мы должны использовать полезную нагрузку App Lock (PayLoadType = com.apple.app.lock). В соответствии с ссылкой профиля конфигурации iOS 6 (https: // разработчик .apple.com/библиотека/ИОС/featuredarticles/iPhoneConfigurationProfileRef/Введение/Introduction.html # // apple_ref/DOC/UID/TP40010206-CH1-SW4). @Rjstelling рассмотреть вопрос о предоставлении образца файла plist для iOS 7, чтобы он стал единым магазином для настройки режима киоска. –