私はそのようにローカル通知をスケジュールしています
+ (void) addLocalNotification: (Event *) event {
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = event.scheduleTime;
localNotif.alertBody = @"Time to apply drops\nPlease press view to see details";
localNotif.soundName = ALARM_SOUND_FILE;
localNotif.timeZone = [NSTimeZone localTimeZone];
localNotif.applicationIconBadgeNumber = 1;
NSDictionary * dict = [NSDictionary dictionaryWithObjectsAndKeys:event.number,LN_EVENT_KEY, ACTION_EVENT, LN_ACTION_KEY, nil];
localNotif.userInfo = dict;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
}
ただし、先週末に時計が進むと、時計が進む前にスケジュールされていた通知が 1 時間遅れて発生します。つまり、18:00 ではなく 19:00 になります。
Apple のドキュメントには、上記のようにタイム ゾーンを設定した「ウォール クロック」時間を取得するように記載されています。
どんな提案も歓迎します。