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.
This answer mentions reasons for such time jumps, but none of them seems to apply in my case.
This answer mentions significant time changes. But what are insignificant changes?
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.