Attualmente sto riscontrando un problema con le notifiche push in iOS.iOS: gestione delle notifiche push silenziose quando l'app viene disattivata forzatamente dall'utente
La mia app riceve notifiche push silenziose contenenti un identificatore. Questo identificatore viene quindi utilizzato per recuperare i dati da un server remoto da cui viene creata una notifica locale.
Per quanto ne sono a conoscenza, se l'utente ha forzare lo spegnimento un app (cioè toccando due volte il tasto home e scorrere la chiusura della app) allora la notifica push in silenzio non venga trasferito sulla metodo didReceiveRemoteNotification in AppDelegate classe [1] [2], impedendo così all'app di eseguire qualsiasi tipo di elaborazione.
Ho svolto una discreta ricerca sul modo di gestire la situazione di cui sopra. Tuttavia, non è stato in grado di trovare una risposta definitiva e sperava che qualcuno potesse darmi una mano o indicarmi la giusta direzione.
TLDR: Cosa devo fare quando l'utente ha chiuso forzatamente la mia app, ma devo ancora elaborare una notifica silenziosa?
Ulteriori informazioni:
La mia app deve supportare solo iOS8 +.
il carico utile di notifica
Se l'applicazione di destinazione non è in esecuzione quando la notifica arriva, il messaggio di avviso, il suono, o il valore distintivo viene riprodotto o mostrato. Se l'app è in esecuzione, il sistema invia la notifica al delegato dell'app come oggetto NSDictionary.
[2] https://stackoverflow.com/a/19202487/2472819
Risposta breve: non c'è niente che puoi fare in questo caso. A mio parere, se un utente chiude forzatamente un'app, non ha il diritto di aspettarsi che l'app funzioni correttamente. –
Forza-esci è un modo per uccidere un'applicazione mal funzionante, che è probabilmente il motivo per cui impedisce che vengano gestite le notifiche. Sfortunatamente alcune fonti online dicono ancora agli utenti di chiudere tutte le app, anche se questo non è necessario. –
Quello che è pazzesco è che vedo un sacco di persone che chiedono di forzare le app per risparmiare batteria. anche gli sviluppatori. – joshblour