Estoy tratando de manejar las llamadas telefónicas y el modo de espera y cosas de esa naturaleza. He añadido la función- (void) applicationWillResignActive: (UIApplication *) la aplicación nunca se llama
- (void)applicationWillResignActive:(UIApplication *)application
y
- (void)applicationDidBecomeActive:(UIApplication *)application
a mi UIApplicationDelegate. Al salir del modo de espera, siempre se llama a "applicationDidBecomeActive". Sin embargo, el problema es que "applicationWillResignActive" nunca se llama.
Me preguntaba si alguien se ha encontrado con este problema y si alguien encontró alguna razón.
EDITAR
Más información, descubrí que actualización del lazo de mi motor que se ejecute desde applicationDidFinishLaunching estaba causando que me pierda el mensaje. Me llamo
while(CFRunLoopRunInMode(kCFRunLoopDefaultMode, .002, FALSE) == kCFRunLoopRunHandledSource);
para atrapar todos los mensajes de iphone pero no parece captar el mensaje resignActive antes de convertirse en inactivo.
Intentar bifurcar un hilo de mi ciclo de actualización está causando extraños errores. ¿Alguien tiene alguna sugerencia de solución rápida?
De acuerdo con los documentos applicationWillResign activa cuando se invoca una ventana superpuesta aparece o cuando el dispositivo está bloqueado. Si bloquea manualmente el iPhone, ¿recibe la llamada? – lyonanderson