I need to ensure that my app gets the correct time, not the time set by the user in settings.
So for instance, once the user starts the app, I'd want to get a timestamp. The user would see the elapsed time on a timer on screen updated every second. When the user exits the app, and after some time restarts the app , the timer would just get the current time and compare it with the original timestamp it kept. So basically, just like the stopwatch in the Clock.App on iPhone.
Now the problem with the clock.app is that if the user goes and advances the time in Settings by one hour, this will influence the timer. Obviously I don't want that, because in my app, that would be cheating.
I'd need to get a more trustworthy time source to compare to.
I could get the time from the internet. But the problem is that I'd need internet connection , so only works on if there is an internet connection. My app needs to work offline preferably.
Is there some kind of internal clock I can access?
Is there a way of checking whether the user has changed the date time in Settings?
Any other ideas?
Thanks
Go to Settings > General > Date & Time. Turn off Set Automatically. Now you can change the time zone or the date and time: Tap Time Zone and enter a city with the time zone that you need.
Open the “Settings” app and go to “General”, then to “Date & Time” Toggle the switch for “Set Automatically” to the ON position (if this is already set ON, turn it OFF for about 15 seconds, then toggle it back ON to refresh) Be sure the Time Zone setting is set properly for your region. Exit out of Settings.
Get the time from NIST with the Daytime Protocol:
UDP Based Daytime Service A server listens for UDP datagrams on UDP port 13. When a datagram is received, an answering datagram is sent containing the current date and time as a ASCII character string (the data in the received datagram is ignored).
NIST Format of response: JJJJJ YR-MO-DA HH:MM:SS TT L H msADV UTC(NIST) OTM
http://tf.nist.gov/service/its.htm
http://tf.nist.gov/tf-cgi/servers.cgi
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With