la mia applicazione può ricevere notifiche in caso di modifica del fuso orario del dispositivo? Voglio ricevere una notifica quando la mia applicazione è in primo piano. NSTimezone non ha funzionato per me poiché devo controllare continuamente il fuso orario.ricevere notifiche sulla modifica del fuso orario in iOS
risposta
UIApplicationDelegate
ha un metodo chiamato applicationSignificantTimeChange:
che viene chiamato quando c'è un cambiamento significativo nel tempo.
Gli esempi elencati nella documentazione sono:
Esempi di significativi cambiamenti di tempo includono l'arrivo della mezzanotte, un aggiornamento del tempo da un vettore, e il passaggio all'ora legale
Ma suppongo che i cambiamenti del fuso orario contino come un cambiamento di orario significativo.
I documenti dicono anche che se il cambio di orario succede quando la vostra applicazione è in background si ottiene quando si va al primo piano
Se l'applicazione è attualmente sospesa, questo messaggio è in coda fino a quando il l'applicazione ritorna in primo piano, a quel punto viene consegnata.
È anche possibile ascoltare UIApplicationSignificantTimeChangeNotification
da pubblicare per ottenere le stesse informazioni in qualsiasi altro punto della propria app.
Ho notato che il metodo observer è invocato quando l'app è messa in primo piano e NON e non nella durata quando l'app è in background e l'utente cambia il fuso orario o si sposta in un fuso orario diverso. È questo il comportamento previsto? Su Android, tali trasmissioni vengono inviate all'app anche se l'app è in background, ma mi rendo conto che si tratta di due sistemi operativi diversi con un design molto diverso. –
Appena notato qui https://developer.apple.com/reference/uikit/uiapplicationdelegate/1622992-applicationsignificanttimechange che viene effettivamente consegnato quando è in primo piano. Immagino che ora ho bisogno di trovare un modo se riesco a capirlo mentre l'app è in background. Forse usare il recupero dello sfondo per realizzarlo. –
Tutte le notifiche iOS che si osservano vengono accodate fino a quando l'app non viene visualizzata in primo piano. Se devi gestire qualcosa in particolare mentre l'app è in background, puoi eseguire il recupero in background. Dovrai ottenere un "diritto" da parte di Apple per eseguire l'elaborazione in background. – leanne
Basta ascoltare NSSystemTimeZoneDidChangeNotification
.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(timeZoneChanged) name: NSSystemTimeZoneDidChangeNotification object:nil];
E ricordarsi di annullare la registrazione, ad esempio nel metodo dealloc.
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSSystemTimeZoneDidChangeNotification object:nil];
Ho notato che il metodo observer "timeZoneChanged here" è invocato quando l'app è messa in primo piano e NON e non nella durata quando l'app è in background e l'utente cambia il fuso orario o si sposta in un fuso orario diverso. È questo il comportamento previsto? Su Android, tali trasmissioni vengono inviate all'app anche se l'app è in background, ma mi rendo conto che si tratta di due sistemi operativi diversi con un design molto diverso. –
Ricevi questa notifica una volta ripristinata l'app. –
- 1. Modifica del fuso orario in MSYS
- 2. Modifica del fuso orario dei dati
- 3. Griglia Kendo Modifica automatica Fuso orario
- 4. Modifica del fuso orario senza modificare il tempo in Java
- 5. Convertire fuso orario locale a PST fuso orario in C#
- 6. Impostazione del fuso orario in modalità org
- 7. Modifica del fuso orario su un progetto Django esistente
- 8. Interrompi javascript Funzione data dalla modifica dell'offset del fuso orario
- 9. Cambia fuso orario del browser
- 10. Django: emissione del fuso orario
- 11. NSDate - Compensazione del fuso orario
- 12. Twitter - Fuso orario del Tweeet
- 13. Come ottenere il nome completo del fuso orario ios
- 14. Conversione del fuso orario in php
- 15. impostazione del fuso orario in Python
- 16. PostgreSQL modifica il timestamp di tipo senza fuso orario -> con fuso orario
- 17. Modifica fuso orario in Lumen o Laravel 5
- 18. Come ottenere il fuso orario locale dell'utente diverso dal fuso orario del server (UTC) in python?
- 19. tempo Converti sulla base di fuso orario utilizzando java.time
- 20. Come ricevere notifiche sulla distribuzione EJB (per impostare un timer)?
- 21. conversione fuso orario Silverlight
- 22. fuso orario russo cambia
- 23. git commit fuso orario
- 24. H2 predefinito fuso orario
- 25. COME OTTENERE: Impostazione del fuso orario del server FTP?
- 26. regolare il fuso orario
- 27. javascript Data fuso orario
- 28. Fuso orario con PostgreSQL
- 29. Conversione del fuso orario nella query SQL
- 30. javascript toISOString() ignora l'offset del fuso orario
controllo questo https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimeZone_Class/Reference/Reference.html –
verifica questo http://stackoverflow.com/questions/13741585/notify-app-when-ipad-date-time-settings-changed –