2012-06-13 26 views
0

是否可以在iPhone時鐘上達到特定時間時執行代碼。這是否能夠在iPhone關閉後(屏幕變黑)工作,但應用程序仍在運行(用戶沒有返回到主屏幕)。iOS - 根據電話時鐘根據時間執行特定代碼的程序方法

例如,是否可以將方法編程爲在下午1:30:15關閉而與當前時間無關,並且是否存在任何限制,具體取決於手機是關閉還是關閉應用程序在後臺運行?

我在這裏找到類似的帖子如何在C#中的特定時間生成事件?但是這會根據當前時間生成一個計時器,以稍後運行方法,而不是使用與當前時間無關的時鐘。

我創建做這個 -

{ 

time_t rawtime; 
struct tm * timeinfo; 

time (&rawtime); 
timeinfo = localtime (&rawtime); 
NSLog(@"TESTSTART - TEST START"); 
// Check 
if(timeinfo->tm_hour == 12 && timeinfo->tm_min == 01 && timeinfo->tm_sec == 48) 
{ 
    NSLog(@"Run Method"); 

    printf("the time is 12:01:48"); 
} else { 
    NSLog(@"ELSE"); 

    [self syncTest]; 
} 
} 

這將在12上運行的方法的一個好辦法:1:48,但它是最有可能不這樣做的一種可接受的方式。有誰知道有更好的方法來做到這一點,以及這種方式對CPU有多大的壓力?謝謝

回答

1

使用NSTimer並設置fireDate爲您希望定時器觸發的日期,然後捕獲它已觸發並執行任務的通知。

+0

我爲什麼被拒絕投票? –

+0

我不知道,我贊成,謝謝你的幫助。 – iPhone77

+0

沒問題。我唯一要補充的是你的應用程序需要運行,也許這就是爲什麼我被低估了。 –