iOS-根据手机时钟上的时间执行特定代码的程序方法

iOS-根据手机时钟上的时间执行特定代码的程序方法,ios,timing,Ios,Timing,当iPhone时钟到达特定时间时,是否可以执行代码。在iPhone关闭(屏幕变黑)但应用程序仍在运行(用户未返回主屏幕)后,这项功能能否正常工作 例如,是否可以将某个方法编程为在下午1:30:15关闭,与当前时间无关,并且是否有任何限制取决于手机是否关闭或应用程序是否在后台运行 我在这里找到了一篇类似的文章,介绍了如何在C#中的特定时钟时间生成事件?但这会基于当前时间生成计时器,以便稍后运行方法,而不是使用与当前时间无关的时钟 我创造了一个糟糕的方法来做这件事- { time_t rawtim

当iPhone时钟到达特定时间时,是否可以执行代码。在iPhone关闭(屏幕变黑)但应用程序仍在运行(用户未返回主屏幕)后,这项功能能否正常工作

例如,是否可以将某个方法编程为在下午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带来多大的压力?谢谢

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

没问题。我唯一要补充的是,你的应用程序需要运行,也许这就是我被否决的原因。