Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS:如何独立于时钟和时区的变化来测量经过的时间?_Iphone_Ios_Nsdate - Fatal编程技术网

Iphone iOS:如何独立于时钟和时区的变化来测量经过的时间?

Iphone iOS:如何独立于时钟和时区的变化来测量经过的时间?,iphone,ios,nsdate,Iphone,Ios,Nsdate,为了测量我的应用程序运行时的持续时间,以及我的应用程序在后台空闲时经过的时间,我需要一个参考时钟,该时钟不会因用户更改其日历时钟的时间+日期而改变 我不能依赖NSDate,因为当我的应用程序在后台时,用户可以更改NSDate(不,拦截与此类时钟更改相关的通知对于我的需求来说是过分的) 我需要的是一个函数,比如“操作系统启动后的秒数”。Mac OS提供这样的功能(滴答声和微秒声),但iOS呢?你在找这样的功能吗 #将包含到源文件中 用调用mach\u absolute\u time()替换对clo

为了测量我的应用程序运行时的持续时间,以及我的应用程序在后台空闲时经过的时间,我需要一个参考时钟,该时钟不会因用户更改其日历时钟的时间+日期而改变

我不能依赖NSDate,因为当我的应用程序在后台时,用户可以更改NSDate(不,拦截与此类时钟更改相关的通知对于我的需求来说是过分的)


我需要的是一个函数,比如“操作系统启动后的秒数”。Mac OS提供这样的功能(滴答声和微秒声),但iOS呢?

你在找这样的功能吗

#将
包含到源文件中


用调用
mach\u absolute\u time()

替换对
clock\u gettime(clock\u MONOTONIC,×pec\t)
的任何调用。不过,我自己的测试表明,时间不是很精确:在真正的60秒之后,这个函数只告诉我59秒过去了(120秒之后是118秒,依此类推)。叹气对我目前的任务来说并不重要,但我仍然想知道那里发生了什么,为什么我们无法在iOS上找到精确的时间参考。