AlarmKit alarm UI strings are lost after updating OS

I have a working AlarmKit app, but I've noticed that after any iOS update (e.g. the 26.0.1 update from a few days ago), my scheduled alarms seem to lose their UI strings, so instead of the Stop button saying "Stop", it says "alarm_ui_stop_button" (which is my localization key for the button text). If I delete the alarm and re-add it, then it works again... until the next software update.

It seems like OS updates are interfering with the link between scheduled alarms and app localization strings, which I believe are dynamically looked up at alarm time (not at configuration time).

I am settings the strings in the standard way like this:

AlarmManager.AlarmConfiguration(
    schedule: .fixed(date),
    attributes: AlarmAttributes<SDAlarmMetadata>(
        presentation: AlarmPresentation(
            alert: AlarmPresentation.Alert(
                title: "alarm_ui_title",
                stopButton: .init(text: "alarm_ui_stop_button", textColor: .yellow, systemImageName: "xmark")
            )
        ),
        metadata: SDAlarmMetadata(title: title, subtitle: subtitle),
        tintColor: .yellow
    ),
    sound: .default
)

Has anyone else noticed this or found a workaround? I guess I could use localization keys that are identical to the desired text, but this would only work for one language.

Please test this again with iOS 26.1 betas and file a bug report if the issue still persists.

Bug Reporting: How and Why? has tips on creating a successful bug report.

It turns out the situation is worse than I thought: it's not the OS update that triggers the bug, but merely restarting the device! If I schedule an alarm with the above code and then restart my device, the alarm triggers at the correct time, but the UI shows the localization keys instead of the strings.

I just installed the iOS 26.1 beta (23B5044I) and it's still broken, so I've filed a bug report: FB20472264

As a temporary workaround, I will set my localization keys to English language strings.

AlarmKit alarm UI strings are lost after updating OS
 
 
Q