【发布时间】:2014-10-13 06:46:52
【问题描述】:
有没有办法让应用程序在后台或者前台运行时一直调用一个方法。这个方法是用来检查时间并根据时间的变化触发通知的。
方法如下
-(void)checkDate
{
NSDate *today = [NSDate date];
NSString *endTime =@"24:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm"];
NSString *currentTime = [dateFormatter stringFromDate:today];
NSLog(@"############ Current time is %@",currentTime);
if ([currentTime isEqualToString: endTime]) {
NSLog(@"notifiction Fired");
[[NSNotificationCenter defaultCenter]postNotificationName:@"todayEnds" object:self];
}
}
我的要求是从一个方法发布一个 NSNotification,而不考虑应用程序的状态
【问题讨论】:
-
设置
NSTimer在目标时间触发;不要那样轮询挂钟。 -
NSTimer 无法在后台工作@Droppy。请参阅我在编辑中的方法
-
在app里写代码会进入后台...
-
这个方法必须连续调用,因为它是用来写设备日志的
-
除了“睡觉”和“醒来”之外,您还想在后台写入哪些设备日志?您想要做的事情会耗尽用户的电池并让您的应用被应用商店拒绝。
标签: ios objective-c uilocalnotification uibackgroundtask