2009-05-07 16 views

Respuesta

0

No creo que haya una manera de lograr esto.

Una cosa que creo que es posible es evitar que el iPhone se bloquee. Luego, podría crear una vista que copiara la función de desbloqueo de bloqueo y aún tendría control sobre el teléfono.

26

No es posible. Sin embargo, puede "evitar" que su teléfono se bloquee cuando se ejecuta su aplicación. [UIApplication sharedApplication].idleTimerDisabled = YES debería hacerlo.

+0

"No es posible" no parece ser cierto (hay un poco de poco de la diferencia entre "no es posible" y "no documentado" ...) –

0

básicamente no es posible porque esto probablemente es parte de los marcos privados que solo pueden ser utilizados por Apple. Hay aplicaciones como las aplicaciones de llamadas falsas que utilizan una pantalla de bloqueo "falsa", pero como ha señalado, al presionar el botón de inicio se sale de la aplicación, haciendo que la pantalla de bloqueo sea inútil.

23

Se puede hacer llamando GSEventLockDevice(); desde tu aplicación Esta función se puede encontrar en GraphicsServices.framework.

+8

Esta es una API privada. – Mugunth

+17

@Mugunth No dije que era una API pública, dije que ** es posible. ** –

+1

@ H2CO3: No está funcionando en 'iOS7'. ¿Me puede decir acerca de 'iOS7'? Ya le pedí una [Pregunta] (http://stackoverflow.com/q/19209887/1603072) para eso. – Bhavin

2

Probablemente sea posible con las funciones de Apple no documentadas (¿tal vez GSEventLockDevice()?) Pero sin duda conduce a la RECHAZACIÓN automática de la tienda de aplicaciones.

Apple simplemente no quiere que nadie juegue con funciones básicas como esta.

1

Si desea hacer esto, Apple nunca aprueba esto, su aplicación debe ser jailbreak. puedes hacer esto llamando al marco privado en tu proyecto. puede usar GraphicsServices.framework.

NOTA:

Este GraphicsServices.framework es un marco privado. Apple nunca aceptará tu aplicación. Al llamar al método GSEventLockDevice(), puede bloquear o desbloquear su dispositivo fácilmente. Este GSEventLockDevice() reside en el GSEvent.h.

Espero que este te ayude.

Por favor, hágamelo saber si todavía hacer frente a cualquier problema

+0

lo hice con éxito, pero ¿cómo puedo establecer o cambiar la clave de acceso al teléfono antes de bloquearlo? gracias por adelantado. –

+0

¿Qué quieres decir con que lo hiciste? fue aceptado en la tienda de aplicaciones? – mtasic85

+0

No. No se aceptará Apple. –

0

Describir de bloqueo y desbloqueo. Intentaría un interruptor que habilitó = SÍ y habilitado = NO para la propiedad de vista. Así que, básicamente, puede deshabilitar todo el UIGestureRecognizers y "bloquear" la pantalla, si esto es lo que quiere decir. Lo hago con UIbuttons una vez que los agrego como IBOutlet y IBAction, por lo que son un objeto y se pueden modificar en el nivel de propiedad. Estoy trabajando en esto mismo en este momento. Voy a publicar mis hallazgos.

4

Esto ya se ha resuelto. Lo puede encontrar en Github: https://github.com/neuroo/LockMeNow (trabajo por debajo de IOS 7)

char*framework="/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices"; 
       void *handle= dlopen(framework, RTLD_NOW); 
       if (handle) 
       { 

        void (*GSEventLockDevice)() = dlsym(handle, "GSEventLockDevice"); 

        if (GSEventLockDevice) 
        { 

         GSEventLockDevice(); 
         NSLog(@"Phone is Locked"); 
         //......... 

        } 
        dlclose(handle); 

       } 
+0

¿Esta aplicación sería aceptada en la tienda de aplicaciones? – mtasic85

Cuestiones relacionadas