2010-05-20 15 views
14

Antes que nada, estoy completamente consciente de que esto hará que Apple rechace mi aplicación, que es una experiencia de usuario deficiente, y así sucesivamente.Desactivando el botón de inicio en iPhone/iPad

Mi pregunta es bastante simple, ¿hay alguna forma de utilizar API privadas para desactivar el botón de inicio? El objetivo es poner efectivamente un iPad en modo kiosco.

+0

Buena pregunta. He estado pensando en acuñar algunos proyectos de quioscos de iPad y esto nunca se me ocurrió. Desearía saber la respuesta. Poner una placa de metal sobre ella sería débil. Pero si consigues deshabilitarlo, necesitarías una combinación secreta para reactivarlo, probablemente. O no. – nickthedude

+0

No, estoy de acuerdo, necesitaría poder volver a habilitar, incluso si solo es para actualizar la aplicación o lo que sea. Estaba pensando en tener una configuración en la aplicación para controlar si el botón de inicio está activo o no, protegido con contraseña si es necesario. –

+0

Quizás esto ayude: [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 /) Esto pondrá su dispositivo en modo kiosco. – njalk

Respuesta

12

No puede deshabilitar el botón de menú. Esto es manejado por el SpringBoard el cual no puedes controlar a menos que el dispositivo tenga jailbreak.

No obstante, puede reiniciar la aplicación inmediatamente después de que el usuario se haya marchado. Suponiendo que se haya registrado el esquema kioskRelaunch112084 URL:

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

Tenga en cuenta que el usuario puede todavía force-quit the app.

+0

Gracias. Si lo tengo correcto, la URL es solo una que usted inventó. Entonces, ¿solo tengo que registrar mi aplicación para manejar las URL de ese tipo o el tipo que elija? –

+0

@ alku83: Lo que sea que elijas. – kennytm

+6

Parece que esta solución ya no es funcional en IOS 4. El objeto de la aplicación no parece responder a openURL en ninguna de las devoluciones de llamadas que salen fuera del foco, ni en tareas en segundo plano después de que se cerró la aplicación. – JoshRivers

0

Si va a estar en un quiosco de algún tipo, ¿puede colocar una placa de metal sobre él y montarlo lo suficientemente fuerte para que no se pueda presionar razonablemente?

+0

Supongo que es una opción de último minuto, pero sería mucho más preferible hacerlo programáticamente. Supongo que siempre podríamos poner pegamento en el botón de inicio :) –

+0

Sí, esa fue mi primera idea. Dependiendo de qué tan permanente lo desee, también podría pegar una tira de algo sobre él. –

-1

Puede echar un vistazo bajo el capó de this app como un punto de partida.

Además, en lugar de una tira únicamente alrededor del botón de inicio, intente this.

12

Se puede hacer muy fácilmente usando una configuración móvil. Vea mi respuesta aquí Lock-down iPhone/iPod/iPad so it can only run one app

+1

** ¡Excelente ** consejo! Funciona perfectamente. ¡Gracias por compartir! –

+0

Esta es de lejos la mejor solución, simplemente no se explica cómo implementarla. También hay toneladas de adiciones a su archivo para aumentar la seguridad. es decir, eliminación desencadenada por contraseña. Reconocimiento de gestos para deshabilitar, etc. – rinzler

+0

Desplegar es bastante fácil. Respondí un comentario en mi blog al respecto, pero también debería hacerlo aquí y en la respuesta vinculada. Para entregar su configuración de la web, todo lo que tiene que hacer es dirigir el iPhone a una url que contenga el perfil. Simplemente abra el enlace a su archivo .mobileconfig en safari. Si no tiene espacio web, puede usar las URL de carpetas públicas de Dropbox o activar su servidor web mac. – Rick

Cuestiones relacionadas