Il mio team e io ci siamo imbattuti in un bug, che è probabilmente causato dal tempo di sistema iOS non incrementato monotonicamente, ma dal salto all'indietro. La differenza di tempo misurata era di circa -50 millisecondi. (Ovviamente non si tratta di un problema di secondo o di fuso orario.)
Sappiamo che i dispositivi iOS sincronizzano il loro tempo con i server NTP mentre sono online. Ma la differenza di orario negativa è stata osservata senza avere alcuna connessione di rete.
Ci sono ragioni per cui iOS aggiorna l'orario del sistema mentre è offline?
Post pertinenti:
-
Dovremo sicuramente seguire l'approccio per misurare i tempi trascorsi. Tuttavia, vorremmo capire cosa stava causando il salto.
-
Questa risposta indica i motivi di tali salti temporali, ma nessuno di essi sembra essere applicabile nel mio caso.
-
Questa risposta menziona variazioni di tempo significative . Ma quali sono le modifiche insignificanti?
Aggiornamento: Dopo 2 ore in modalità aereo abbiamo osservato un salto temporale di 637 ms nel passato con System.DateTime.Now
su un iPad Mini 2, mentre CACurrentMediaTime
ha continuato ad aumentare monotonicamente. Non è ancora chiaro il motivo per cui iOS dovrebbe fare un salto così significativo dopo così tanto tempo senza aggiornamenti NTP.