繁体   English   中英

目标c:如何在应用处于后台/根据时间间隔自动终止时执行功能

[英]Objective c: how to execute a function when app is in the background/killed automatically based on time Intervals

我需要根据时间间隔自动在后台运行应用程序甚至被用户杀死时执行一个功能

要求:用户注册后(日期为2015年1月1日,注册日),我需要根据以下时间间隔将功能的状态更改为启用/禁用,并在应用程序处于活动模式或后台或被终止时通知用户。

注册日期:2015年1月1日:查看照片功能状态更改如下。 启用状态后,用户可以通过点击表格中的照片行来查看照片。 当状态为“禁用模式”时,用户无法通过点击表中的照片行来查看照片并生成警报。

前2周:禁用2周-第5周:启用第5周-第12周:禁用第12周-3个月:启用3个月至8个月:禁用8个月至12个月:启用1年-1.5年:禁用1.5年-2年2年后启用-状态切换每3个月一次。

我完成了日期计算。

但是我只想知道当应用程序在后台甚至被用户杀死时如何根据时间间隔自动执行功能

提前致谢

我认为您选择的方式是错误的。 只需使用AppDelegate方法即可知道何时启动应用程序或何时将应用程序恢复为前台状态。

UIApplicationDelegate苹果参考

您可以在后台调用函数,但可能会被应用杀死,然后函数无法正常工作。 尝试使用此代码进行后台工作。

- (void)applicationDidEnterBackground:(UIApplication *)application {

[NSTimer scheduledTimerWithTimeInterval:300.0f
                                 target:self
                               selector:@selector(updateMethod:)
                               userInfo:nil
                                repeats:YES];

}

- (void)updateMethod:(NSTimer *)theTimer {
// Your code goes here
NSLog(@"Backgroud Mode");
}

暂无
暂无

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

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