My team and I ran into a bug, which is probably caused by the iOS system time not incrementing monotonically, but jumping backwards. The measured time difference was about -50 milliseconds. (That's obviously no leap second or time zone issue.)
We understand that iOS devices synchronize their time with NTP servers while being online. But the negative time difference was observed while having no network connection at all.
Are there any reasons iOS would update the system time while offline?
We'll certainly need to follow this approach for measuring elapsed times. But nevertheless, we'd like to understand what was causing the jump.
Update: After 2 hours in airplane mode we observed a time jump of 637 ms into the past with System.DateTime.Now
on a iPad Mini 2, while CACurrentMediaTime
kept increasing monotonically. It's still unclear why iOS should do such a significant jump after such a long time without NTP updates.