← ClaudeAtlas

alarmkitlisted

Implement AlarmKit alarms and countdown timers for iOS and iPadOS with Lock Screen, Dynamic Island, StandBy, and paired Apple Watch system UI. Covers AlarmManager scheduling, AlarmAttributes and AlarmPresentation, system Stop and AlarmButton secondary actions, authorization, state observation, countdown widget-extension handoff, and Live Activity integration. Use when building wake-up alarms, countdown timers, or alarm-style alerts that need Apple's system alarm experience.
thiennc-tesoglobal/ios-skills · ★ 3 · AI & Automation · score 66
Install: claude install-skill thiennc-tesoglobal/ios-skills
# AlarmKit Schedule prominent alarms and countdown timers that surface on the Lock Screen, Dynamic Island, StandBy, and a paired Apple Watch when the alarm fires. AlarmKit requires iOS 26+ / iPadOS 26+. Alarms can break through Focus and Silent mode. AlarmKit uses ActivityKit data models for its Live Activity, but the firing alert is system-managed alarm UI, not a general custom notification UI surface. Custom UI belongs only to countdown and paused Live Activity states rendered by a Widget Extension with the same `AlarmAttributes<Metadata>` and `AlarmPresentationState` used when scheduling. See [references/alarmkit-patterns.md](references/alarmkit-patterns.md) for complete code patterns including authorization, scheduling, countdown timers, snooze handling, and widget setup. ```swift import AlarmKit ``` ## Contents - [Workflow](#workflow) - [Authorization](#authorization) - [Alarm vs Timer Decision](#alarm-vs-timer-decision) - [Scheduling Alarms](#scheduling-alarms) - [Countdown Timers](#countdown-timers) - [Alarm States](#alarm-states) - [AlarmAttributes and AlarmPresentation](#alarmattributes-and-alarmpresentation) - [AlarmButton](#alarmbutton) - [Live Activity Integration](#live-activity-integration) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Workflow ### 1. Create a new alarm or timer 1. Add `NSAlarmKitUsageDescription` to Info.plist with a user-facing string. 2. Request authorization with `AlarmM