2013-02-25 19 views
8

Tworzę aplikację, która wymaga pełnej uwagi użytkowników, dopóki nie zostanie osiągnięty określony cel. przed osiągnięciem celu, jeśli użytkownik spróbuje nacisnąć przycisk "home", powinien być wyłączony, lub jak "tryb kiosku" w ios6. Po prostu trzeba było zrobić programowo podczas uruchamiania aplikacji, nie lubię nic robić ręcznie zmieniając w menu ustawień w iPhone/iPad Po zakończeniu celu w mojej aplikacji, przycisk home powinien być włączony. Aplikacja jest przeznaczona dla przedsiębiorstw. Nie ma więc potrzeby zatwierdzania sklepu z aplikacjami. Jak to zrobić? z góry dziękuję.Jak programowo włączyć "tryb kiosku" w ipad?

Edycja: czytam o "paczce konfiguracji mobilnej". To wymagało zrestartowania urządzenia. Ale nie lubię restartować urządzenia. Raz, gdy moja aplikacja zostanie uruchomiona, powinna zająć się wszystkim (programowo). Nie chcę interwencji użytkowników/nadzorców w tym. Po prostu chcesz wyłączyć przycisk domowy, jak w "Dostępie z przewodnikiem", ale programowo w mojej aplikacji. Czy dostępne są prywatne api z "Dostępu z przewodnikiem" w celu wyłączenia przycisku głównego?

Uwaga: Nie dotyczy uszkodzonego urządzenia Jail. Kierowany do aplikacji licencjonowanej dla przedsiębiorstw.

+1

Nie sądzę, że jest dozwolone ... – Sagrian

+0

"mobile konfiguracyjny plist" potrzebne, aby ponownie uruchomić urządzenie. Ale nie lubię restartować urządzenia. Gdy moja aplikacja zostanie uruchomiona, powinna wziąć wszystko (programowo). Nie chcę interwencji użytkowników/nadzorców w tym. Po prostu chcesz wyłączyć przycisk home, jak w Guided access, ale programowo. –

Odpowiedz

2

Bez korzystania z prywatnych frameworków lub z jailbroken urządzenia nie można automatycznie wyłączyć przycisku Home. Najbliższą rzeczą, jaką możesz zrobić, jest umożliwienie użytkownikowi końcowemu korzystania z funkcji "Guided Access", aby wymagać potrójnego kliknięcia przycisku strony głównej, aby zamknąć aplikację. Dostęp z przewodnikiem musi najpierw zostać włączony w aplikacji Ustawienia w obszarze Ogólne-> Dostępność.

Zobacz także: Disable Home Button Without Rebooting Device - Stack Overflow

+0

Dzięki. ale nadal nie ma dokładnego rozwiązania w wyżej wspomnianym łączu. –

+0

Dokładnie. Ten temat został już wcześniej opracowany i obecnie nie ma rozwiązania. – Jeremy1026

11

Zachary Christopoulos ma stanowisko w tej sprawie za pomocą "mobilnego konfiguracyjny plist".

Gdy profil został zainstalowany pierwszy app, który jest uruchamiany, gdy urządzenie zostanie ponownie uruchomiony będzie tylko aplikacja, która potrwa do restarcie urządzenie ponownie.

Przykład plist z 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

Dzięki. Ale nie lubię restartować urządzenia. Gdy moja aplikacja zostanie uruchomiona, powinna wziąć wszystko (programowo). Nie chcę interwencji użytkowników/nadzorców w tym. –

+0

To nie jest już obsługiwane w systemie iOS 7. Nie jest to oficjalna metoda. https://devforums.apple.com/thread/216385?tstart=0 – Prcela

+1

musimy używać blokady aplikacji PayLoadType = com.apple.app.lock) zgodnie z referencją profilu konfiguracji dla systemu iOS 6 (https: // programista .apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html # // apple_ref/doc/uid/TP40010206-CH1-SW4). @Rjstelling rozważa podanie przykładowego pliku plist dla systemu iOS 7, dzięki czemu stanie się on punktem kompleksowym dla tego ustawienia trybu kiosku. –

Powiązane problemy