Implement, review, or improve Live Activities and Dynamic Island experiences in iOS apps using ActivityKit. Use when building real-time updating widgets for…
ActivityKit ActivityKit owns real-time, glanceable Live Activities displayed on the Lock Screen and, on supported devices, Dynamic Island. StandBy, CarPlay, and a paired Mac can also display Live Activities, but do not blur that core routing: ordinary Home Screen/timeline widgets belong in widgetkit, and generic APNs setup belongs in push-notifications. Live Activity push payload shape stays in ActivityKit: device-token updates use apns-push-type: liveactivity and apns-topic: <bundle-id>.push-type.liveactivity, while aps.content-state must decode into the app's actual ActivityAttributes.ContentState Codable shape. Do not assume Date or ClosedRange<Date> use Unix timestamp lowerBound/upperBound dictionaries unless the Swift model and server contract coordinate that encoding. Boundary answers that keep ActivityKit APNs payloads, content-state, or Live Activity data contracts in scope should include these payload-shape invariants even when routing generic APNs setup elsewhere. Patterns target iOS 26+ with Swift 6.3; modern ActivityContent lifecycle examples require iOS 16.2+ unless noted. See references/activitykit-patterns.md for complete code patterns including push payload formats, concurrent activities, state observation, and testing.
don't have the plugin yet? install it then click "run inline in claude" again.