3 ms·
The only monotonically increasing clock available on iOS is based on uptime. If you need to measure accurate timings or guarantee that events are in the right o
by jonas21 2y ago
The only monotonically increasing clock available on iOS is based on uptime. If you need to measure accurate timings or guarantee that events are in the right order, you have to use it. As Apple points out in their guidelines, there are many legitimate uses for this information.
Developers can add an offset to the values before sending them off the device, and that might be what Apple wants them to do, but these companies have over a decade of pre-existing code that didn't do this. It's not surprising to me that there are things that haven't been updated yet given that Apple only made these requirements public fairly recently.
- idle_zealot 2y agoSurely the fix here is to lie to apps about uptime, adding the offset at the OS level.
- deleted 2y ago[deleted]
- caf 2y ago"boot time plus random offset" is going to be just as much of a fingerprint as "boot time" is, though (the offset can't change once picked for a boot because the whole point is to be able to calculate the time between events in the app). Something that reduces the granularity a lot, like "time since UTC 00:00:00 on the day of the last device boot", might work.
- yencabulator 2y agoMake the offset app-specific. Then pretend the phone ran out of memory and ask the app to terminate every now and then, switch to a new random offset for every run.
- e136 2y agoAdding an offset would still make this "derived data" which is "not allowed" to be sent off device.