2010-05-20 17 views
14

Prima di tutto, sono perfettamente consapevole che facendo ciò la mia app verrà respinta da Apple, che si tratta di una scarsa esperienza utente e così via.Disabilitare il tasto home su iPhone/iPad

La mia domanda è abbastanza semplice, c'è un modo per utilizzare le API private per disabilitare il pulsante home? L'obiettivo è quello di mettere in pratica un iPad in modalità kiosk.

+0

Buona domanda. Stavo pensando di coniare alcuni progetti di chioschi iPad e questo non mi è mai venuto in mente. Vorrei sapere la risposta. Mettere una piastra metallica su di esso sarebbe debole. Ma se riesci a disabilitarlo, avrai bisogno di una combinazione segreta per riattivarla probabilmente. O no. – nickthedude

+0

No, sono d'accordo, dovresti essere in grado di riattivare, anche se è solo per aggiornare l'app o qualsiasi altra cosa. Stavo pensando di avere un'impostazione nell'app per controllare se il pulsante home è attivo o meno - protetto da password se necessario. –

+0

Forse questo aiuterà: [http://igrudge.net/how-to-disable-the-home-button-on-ios-devices-iphoneipad/](http://igrudge.net/how-to-disable -the-home-button-on-ios-devices-iphoneipad /) Questo metterà il tuo dispositivo in modalità kiosk. – njalk

risposta

12

Non è possibile disattivare il pulsante di menu. Questo è gestito dallo SpringBoard che non è possibile controllare a meno che il dispositivo non sia jailbroken.

È possibile riavviare l'app subito dopo la chiusura dell'utente, tuttavia. Supponendo di aver registrato lo schema kioskRelaunch112084 URL:

-(void)applicationWillTerminate:(UIApplication *)application { 
    [application openURL:[NSURL URLWithString:@"kioskRelaunch112084://"]]; 
} 

Nota che l'utente può ancora force-quit the app.

+0

Grazie. Se ho ragione, l'URL è solo uno che hai inventato. Quindi, ho solo bisogno di registrare la mia app per gestire gli URL di quel tipo, o qualunque sia il tipo che scelgo? –

+0

@ alku83: Qualunque cosa tu scelga. – kennytm

+6

Sembra che questa soluzione non sia più funzionante in IOS 4. L'oggetto dell'applicazione non sembra rispondere a openURL in nessuno dei callback di out-of-focus, né nelle attività in background dopo la chiusura dell'app. – JoshRivers

0

Se si trova in un chiosco di qualche tipo, puoi semplicemente mettere una piastra di metallo su di esso, e montare la cosa abbastanza strettamente in modo che non possa ragionevolmente essere premuto?

+0

Immagino che sia un'opzione last-ditch, ma sarebbe molto più preferibile farlo a livello di programmazione. Suppongo che potremmo sempre mettere la colla anche nel bottone di casa :) –

+0

Sì, quello era in realtà il mio primo pensiero. A seconda di come lo vuoi permanente, potresti anche incollare una striscia di qualcosa su di essa. –

-1

Si potrebbe dare un'occhiata sotto il cofano di this app come punto di partenza.

Inoltre, anziché una striscia solo attorno al pulsante home, prova this.

12

Può essere fatto facilmente utilizzando una configurazione mobile. Vedere la mia risposta qui Lock-down iPhone/iPod/iPad so it can only run one app

+1

** Ottimo ** consiglio! Funziona perfettamente. Grazie per aver condiviso! –

+0

Questa è di gran lunga la soluzione migliore, non ha spiegato come distribuire. Ci sono anche tonnellate di aggiunte al suo file per aumentare la sicurezza. rimozione attivata da i.e. password. Riconoscimento dei gesti da disabilitare, ecc. – rinzler

+0

L'implementazione è abbastanza semplice. Ho risposto a un commento sul mio blog a riguardo ma dovrei anche qui e nella risposta collegata. Per consegnare la tua configurazione dal web tutto ciò che devi fare è indirizzare l'iPhone a un url contenente il profilo. Basta aprire il link al tuo file .mobileconfig in safari. Se non disponi di spazio web, puoi semplicemente utilizzare gli URL delle cartelle pubbliche di Dropbox o passare al tuo Macserver web. – Rick

Problemi correlati