Questa domanda sembra essere l'essenza di molti altri su questo forum. Credo che sia possibile per l'applicazione iPhone attiva continuare a funzionare, e in particolare, continuare a ricevere le richiamate del timer, dopo che è entrato nello stato inattivo (tramite il timer di inattività che ha attivato il blocco dello schermo o l'utente che sta premendo il pulsante di blocco dell'hardware).Chiamate NSTimer mentre l'applicazione iPhone non è attiva
La documentazione dice esplicitamente che mentre un'applicazione è inattiva, sta eseguendo, ma non invia eventi in entrata (non sto dando un collegamento perché sono nervoso per la NDA - dovrei rilassarmi? una violazione? sospiro).
Inoltre, due risposte dall'utente "Ambr Str" indicano direttamente che è possibile continuare a ricevere le richiamate del timer e fornisce uno snip di codice per raggiungerlo (non posso collegarmi a questo perché sono un nuovo utente, mi dispiace - cerca la domanda: "Che cosa succede a un'app per iPhone quando l'iPhone entra in modalità stand-by?" per trovare la sua risposta).
Ho cercato di creare le mie richiamate come suggerisce, ma una volta che la mia domanda diventa inattiva, i richiami di chiamata cessano di funzionare.
Ho appena notato che mentre l'iPhone è collegato, se l'applicazione diventa inattiva (a causa di un periodo di inattività o quando si preme il pulsante di sospensione), i richiami continuano a verificarsi - forse dovrei ottenere i miei utenti portare con sé un pacco batteria ;-)
L'aiuto di UIApplication.idleTimerDisabled non funziona o non funziona quando l'utente preme manualmente il pulsante di sospensione? –
Come suggerisci, UIApplication.idleTimerDisabled non funziona se l'utente preme il pulsante di sospensione, ma c'è di più rispetto a questo ... UIApplication.idleTimerDisabled è ottimo se si desidera interrompere l'applicazione che entra nello stato inattivo quando il dispositivo non è interagito con. È appropriato per un gioco. Nel mio caso, desidero in particolare che l'applicazione diventi inattiva (poiché desidero riservare la potenza del dispositivo se possibile). Inoltre, voglio consentire all'utente di bloccare il dispositivo in modo tale che l'input non venga ricevuto. –
Un'implementazione compatibile con iOS 5 è disponibile su https://github.com/mruegenberg/MMPDeepSleepPreventer – mrueg