0

是否可以在 iPhone 的时钟达到特定时间时执行代码。这是否能够在 iPhone 关闭(屏幕变黑)但应用程序仍在运行(用户没有返回主屏幕)后工作。

例如,是否有可能将方法编程为在下午 1:30:15 关闭,与当前时间无关,是否有任何限制取决于手机是否关闭或应用程序是否正在运行的背景?

我在这里找到了一个类似的帖子 How to generate event on a specific time of clock in 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带来多少压力?谢谢

4

1 回答 1

1

使用NSTimer并设置fireDate您希望计时器触发的任何日期,然后捕获它已触发的通知并执行您的任务。

于 2012-06-13T16:56:33.413 回答