2015-03-13 4 views
7

Se un utente avvia un'applicazione iOS e quindi blocca il dispositivo, l'app iOS sarà attiva quando il dispositivo è bloccato? Non trovo la risposta nei documenti dello sviluppatore di Apple.Un'app iOS è attiva quando il dispositivo è bloccato?

+1

Questa risposta è sicuramente nella Documentazione di Apple. Leggi https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/ – Popeye

+0

da [documentazione] (https://developer.apple.com/library/content/documentation/iPhone/ Concettuale/iPhoneOSProgrammazioneGuida/StrategieperHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html). "Quando l'utente preme il pulsante Home, preme il pulsante Sospensione/Riattivazione oppure il sistema avvia un'altra app, le transizioni in primo piano delle app in stato di inattività e quindi in stato di sfondo. le transizioni comportano chiamate all'applicativo del delegato dell'appWillResignActive: and applicationDidEnterBackground; – Honey

risposta

0

L'app verrà inviata in background e diventa inattiva (nessun codice è in esecuzione). Tuttavia, puoi fare start a background task prima che l'app passi in secondo piano, il che consentirà l'esecuzione per alcuni minuti dopo il blocco del dispositivo ...

6

Puoi trovare la differenza tra tutti i diversi stati leggendo il Apple Documentation for UIApplicationDelegete. Cercare la sezione contrassegnata Managing Stato di transizione lì troverete un tavolo in dettaglio i diversi stati un'applicazione può essere in.

non in esecuzione

L'applicazione non è stato avviato o è stato terminato, o dall'utente o dal sistema.

Inattivo

L'applicazione è in esecuzione in primo piano, ma non riceve gli eventi. (Potrebbe essere in esecuzione un altro codice però.) Un'app di solito rimane in questo stato solo brevemente mentre passa a uno stato diverso. All'ingresso di questo stato, l'app dovrebbe mettersi in uno stato di riposo con l'aspettativa di passare allo stato di sfondo o allo stato attivo a breve.

attivo

L'applicazione è in esecuzione in primo piano e la ricezione di eventi. Questa è la modalità normale per le app in primo piano. Un'app nello stato attivo non ha restrizioni speciali. È l'app in primo piano e dovrebbe essere reattiva all'utente.

Sfondo

L'applicazione è in esecuzione il codice, ma non è visibile sullo schermo. Quando l'utente chiude un'app, il sistema sposta brevemente l'app sullo stato di sfondo prima di sospenderla. Altre volte, il sistema può avviare l'app in background (o attivare un'app sospesa) e dargli il tempo di gestire attività specifiche. Ad esempio, il sistema può riattivare un'app in modo che possa elaborare download in background, determinati tipi di eventi di posizione, notifiche remote e altri tipi di eventi. Un'app nello stato di sfondo dovrebbe fare il minor lavoro possibile. Le app che richiedono tempo per elaborare specifici tipi di eventi devono elaborare quegli eventi e restituire il controllo al sistema il più rapidamente possibile.

sospeso

L'applicazione è in memoria, ma non è l'esecuzione di codice. Il sistema sospende le app in background e non ha attività in sospeso da completare. Il sistema può eliminare le app sospese in qualsiasi momento senza risvegliarle per fare spazio ad altre app.

A seconda di quali sono le autorizzazioni della tua app e se deve essere eseguito in background o meno, l'app potrebbe trovarsi in uno dei due stati in cui si trova il telefono nella schermata di blocco.Questi sono non è in esecuzione, Sfondo o sospeso

Se la vostra applicazione è NON pensati per funzionare in background andrà in non in esecuzione stato in cui si sarà terminato e chiamerà il metodo applicationWillTerminate: e quando torni dalla schermata di blocco rilancerà l'app normalmente.

Se la vostra applicazione ha il diritto di eseguire in background quando si va alla schermata di blocco che entrerà in un sfondo stato chiamando applicationDidEnterBackground: e quando si torna dalla schermata di blocco la vostra applicazione sarà chiamare il metodo applicationWillEnterForeground: e si svolgerà qualsiasi codice necessario per ottenere nuovamente l'applicazione in uno stato corretto. È possibile creare attività backgroud che verrà eseguito quando l'applicazione entra in uno stato di fondo guardando il UIApplication Documentation for Managing Background Execution

Un'applicazione entrerà in uno stato sospeso quando non ha i diritti di fondo, ma non è in esecuzione alcun codice e l'applicazione è solo si sedette nella memoria. Se l'app si trova in questo stato, il sistema può eliminare l'app in qualsiasi momento per creare spazio nella memoria. Questo non chiama alcun metodo quando si entra o si esce da questo stato.

Ecco figura 1 dalla documentazione di Apple

enter image description here