ユーザーが2種類の通知から選択できるようにしたい。そのうちの 1 つは 10 の異なるローカル通知であり、それぞれが 1 時間間隔で日中に発生し、非常にうまく機能します。2 番目のオプションは、一度にすべての通知を起動することです (10 回すべての通知を 3 秒間隔で送信することを意味します)。これが私のメソッドスケジューリング通知です:
-(void)scheduleForToday
{
for (UILocalNotification *notif in [[UIApplication sharedApplication]scheduledLocalNotifications])
[[UIApplication sharedApplication]cancelLocalNotification:notif];
for (NSString *string in self.words){
NSDateComponents *currentComponents = [[NSCalendar currentCalendar]components:NSYearCalendarUnit|NSDayCalendarUnit|NSMonthCalendarUnit|NSHourCalendarUnit fromDate:[NSDate date]];
[currentComponents setHour:hour];
[currentComponents setMinute:minute];
currentComponents.second = 0;
UILocalNotification *notif = [[UILocalNotification alloc] init];
notif.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
currentComponents.second = [self.words indexOfObject:string]*3;
notif.fireDate = [calendar dateFromComponents:currentComponents];
notif.alertBody = [NSString stringWithFormat:@"%@",word];
notif.alertAction = NSLocalizedString(@"key", nil);
notif.userInfo = userDict;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
}
}
メソッドが実行された後、私は
NSLog(@"Finished Setiing Today Notifications %@",[[UIApplication sharedApplication] scheduledLocalNotifications]);
また、通知の正しいスケジュールを取得していますが、アプリがバックグラウンドにある場合、デバイスでもシミュレーターでも表示されません。何が問題になる可能性がありますか? アドバイスをいただければ幸いです。