繁体   English   中英

iOS后台任务计时器

[英]ios background task timer

我正在设计一个需要在特定时间在后台模式下将数据发送到服务器的应用程序。 所以我想知道:在我安排一次应用程序之后(一次),应用程序是否有可能在24小时内执行一段代码?

非常感谢!

将日期存储在NSUserDefaults然后进一步检查24小时..

  NSDate *date = [[NSUserDefaults standardUserDefaults] objectForKey:@"CONSCIENCE_START_DATE"];

if (!date) {

    // This is the 1st run of the app

    date = [NSDate date];

    [[NSUserDefaults standardUserDefaults] setObject:date forKey:@"CONSCIENCE_START_DATE"];

}

NSString *str = [NSString stringWithFormat:@"%@",date];

NSLog(@"  date string = %@",str);

NSTimeInterval secondsBetween = [[NSDate date] timeIntervalSinceDate:date]; // in seconds

int numberOfHours = secondsBetween / 3600; // convert in hours

NSLog(@"There are %d hours in between the two dates.", numberOfHours);

if (numberOfHours > 24) {

    // do your code here ...

    [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"CONSCIENCE_START_DATE"];

}

希望对你有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM