このコードを作成して、スリープ時間中に通知を一時停止しましたが、よくわからないことがありました。どうなり得るか?
私の.m
コード:
- (IBAction)save:(id)sender {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.timeZone=[NSTimeZone defaultTimeZone];
dateFormatter.timeStyle=NSDateFormatterShortStyle;
dateFormatter.dateStyle=NSDateFormatterShortStyle;
NSString *dateTimeString=[dateFormatter stringFromDate:_startTime.date];
NSLog(@"Start time is %@",dateTimeString);
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init];
dateFormatter2.timeZone=[NSTimeZone defaultTimeZone];
dateFormatter2.timeStyle=NSDateFormatterShortStyle;
dateFormatter2.dateStyle=NSDateFormatterShortStyle;
NSString *dateTimeString2=[dateFormatter2 stringFromDate:_endTime.date];
NSLog(@"End time is %@",dateTimeString2);
if ([[NSDate date] isEqualToDate:_startTime.date]) {
NSLog(@"currentDate is equal to startTime");
[[UIApplication sharedApplication] cancelAllLocalNotifications];
NSLog(@"Sleep time silent started and notification cancelled");
}
if ([[NSDate date] isEqualToDate:_endTime.date]) {
NSLog(@"currentDate is equal to endTime");
[self pickerSelectedRow];
NSLog(@"Time to wake up and notification rescheduled");
}
}
ボタンをクリックするsave
と、この出力が表示されます。これは、正常に動作していることを意味しますが、通知がキャンセルまたは再スケジュールされたことを示す出力が得られないため、動作していません!!!
出力:
2013-05-03 03:04:57.481 xxx[10846:c07] Start time is 5/3/13, 3:06 AM
2013-05-03 03:04:57.482 xxx[10846:c07] End time is 5/3/13, 3:07 AM
私は何が欠けていますか?
また、これはバックグラウンドで機能しますか?