2010-10-24 23 views
1

爲了測量我的應用程序運行時的持續時間以及在我的應用程序在後臺處於空閒狀態時所經過的時間,我需要一個參考時鐘,該時鐘不會被用戶更改其時間+日期日曆時鐘。iOS:如何測量通過的時間,與時鐘和時區變化無關?

我不能依賴於NSDate,因爲用戶可以在我的應用程序處於後臺時更改NSDate(並且不,截取與此類時鐘更改相關的通知對我的需求來說是過度的)。

我需要的是一個函數,如「秒,因爲啓動的操作系統」。 Mac OS提供這樣的功能(Ticks微秒),但iOS呢?

回答

2

#include <mach/mach_time.h>到您的源文件。

撥打電話mach_absolute_time()替換clock_gettime(CLOCK_MONOTONIC, &timespec_t)的任何呼叫。

-3
+0

啊。 mach_absolute_time() - 是的,這是有效的。謝謝! – 2010-10-24 17:45:03

+0

恩 - 但是我自己的測試表明,時間不是很精確:在真正的60秒後,這個函數只告訴我59s已經過去了(在120s之後,它是118s,等等)。嘆。對於我目前的任務來說並不重要,但我仍然想知道那裏發生了什麼,以及爲什麼我們無法在iOS上找到精確的時間參考。 – 2010-10-26 10:44:06

+1

鏈接已過時。 – mohamede1945 2012-01-30 14:59:41