AlarmKit alarm occasionally fires at exactly 12:00 AM

[FB22327481]

We are observing a rare issue where alarms scheduled using AlarmKit occasionally fire exactly at 12:00 AM, even though the alarm was scheduled for a different time.

This issue happens only for a very small number of users (for example, 1–2 users per several thousand per day), but multiple reports confirm that the alarm goes off exactly at midnight.


We also found that other developers are experiencing the same issue:


Observed behavior

For a small number of users:

  • Alarm fires at exactly 00:00 (midnight)
  • This happens even when the scheduled alarm time is something like 7:30 AM
  • Happens rarely
  • Hard to reproduce internally
  • Appears to happen only on real devices in production

Additional notes

  • We are using AlarmKit fixed schedules (not relative)
  • Dates passed to AlarmKit are correct at scheduling time
  • We do not intentionally create midnight alarms
  • Issue seems random

Question

Are there any known limitations or edge cases with AlarmKit fixed schedules that could cause alarms to fire at midnight?

For example:

  • Invalid date fallback?
  • Schedule expiration fallback?
  • Time zone changes?
  • Background refresh timing?
  • Maximum schedule window?

Any guidance would be appreciated, as this is affecting real users but is difficult to reproduce.

Please also take a look at this AlarmKit issue as well. We’re receiving a lot of user complaints about this too.

AlarmKit leaves an empty zombie Live Activity:

AlarmKit alarm occasionally fires at exactly 12:00 AM
 
 
Q