Condividi tramite


Registrazione di app Xamarin.iOS da eseguire in background

La registrazione di singole attività per i privilegi in background funziona per alcune applicazioni, ma cosa accade se un'applicazione viene costantemente chiamata per eseguire attività importanti e a esecuzione prolungata, ad esempio ottenere indicazioni per l'utente tramite GPS? Le applicazioni come queste devono invece essere registrate come applicazioni in background necessarie.

La registrazione di un'app segnala a iOS che all'applicazione devono essere assegnati privilegi speciali necessari per eseguire attività in background.

Categorie di registrazione delle applicazioni

Le app registrate possono rientrare in diverse categorie:

  • Audio: Musica lettori e altre applicazioni che usano contenuti audio possono essere registrati per continuare a riprodurre audio anche quando l'app non è più in primo piano. Se un'app in questa categoria tenta di eseguire qualsiasi operazione diversa da riprodurre audio o scaricare mentre è in background, iOS lo terminerà.
  • VoIP : le applicazioni VoIP (Voice Over Internet Protocol) ottengono gli stessi privilegi concessi alle applicazioni audio per mantenere l'elaborazione dell'audio in background. Possono anche rispondere in base alle esigenze dei servizi VoIP che le alimentano, per mantenere attive le connessioni.
  • Accessori esterni e Bluetooth - Riservato per le applicazioni che devono comunicare con dispositivi Bluetooth e altri accessori hardware esterni, la registrazione in queste categorie consente all'app di rimanere connessi all'hardware.
  • Architettura: un'applicazione Di tipo Pivot può continuare a sincronizzare il contenuto in background.
  • Posizione : le applicazioni che usano dati gps o di posizione di rete possono inviare e ricevere gli aggiornamenti della posizione in background.
  • Recupero (iOS 7+): un'applicazione registrata per i privilegi di recupero in background può controllare un provider per il nuovo contenuto a intervalli regolari, presentando all'utente il contenuto aggiornato quando torna all'applicazione.
  • Remote Notifications (iOS 7+): le applicazioni possono registrarsi per ricevere notifiche da un provider e usare la notifica per avviare un aggiornamento prima che l'utente apra l'applicazione. Le notifiche possono venire sotto forma di notifiche push o scegliere di riattivare l'applicazione in modo invisibile all'utente.

Le applicazioni possono essere registrate impostando la proprietà Modalità in background necessarie in Info.plist dell'applicazione. Un'applicazione può registrarsi in tutte le categorie necessarie:

Setting the background modes

Per una guida dettagliata alla registrazione di un'applicazione per gli aggiornamenti della posizione in background, vedere la procedura dettagliata sulla posizione in background.

L'applicazione non viene eseguita nella proprietà in background

Un'altra proprietà che può essere impostata in Info.plist è l'applicazione non viene eseguita in background o UIApplicationExitsOnSuspend proprietà:

Disabling Background Running

Questo ha esattamente lo stesso effetto dell'impostazione Aggiornamento app in background su disattivato in iOS 7+, ad eccezione del fatto che può essere modificato solo sul lato sviluppatore ed è disponibile per iOS 4 e versioni successive. L'applicazione verrà sospesa immediatamente dopo l'immissione in background e non sarà in grado di eseguire alcuna elaborazione.

Usare questa proprietà se l'applicazione non è progettata per gestire l'elaborazione in background, in quanto consente di evitare comportamenti imprevisti.

Recupero in background e notifiche remote

Il recupero in background e le notifiche remote sono categorie di registrazione speciali introdotte in iOS 7. Queste categorie consentono alle applicazioni di ricevere nuovo contenuto da un provider e di aggiornare in background. La sezione successiva illustra in modo più dettagliato il recupero e le notifiche remote e introduce anche la consapevolezza della posizione come mezzo per aggiornare un'applicazione in background in iOS 6.