Documentation
iOS Live Activities that don't silently fail.
The wire format for iOS Live Activities, widgets, and controls. Bridge-agnostic, push-included, with every silent-failure mode enforced as a CI invariant. Pick a path that matches your role, or browse the full reference.
Reading Paths
-
Already shipping Live Activities
Drop the contract and push client into your existing Expo app or backend without forking your bridge.
- 01 Adopt Mobile Surfaces For teams already shipping iOS Live Activities. Add the contract and push client without forking your bridge.
- 02 Push Wire-layer reference, SDK, smoke script, token taxonomy, error reasons, channel push.
- 03 Mobile Surfaces and expo-live-activity Cooperative positioning: what each project owns, when to use both, and the decision matrix.
-
Starting from zero
Scaffold an iPhone app with every surface wired up locally, ready to iterate against the simulator.
-
Backend integrator
Emit snapshots and send APNs pushes from Node. No mobile work.
-
Triaging a silent failure
A live bug where the Lock Screen is empty or APNs returns 200 with no effect.
Full Reference
Start here
Surfaces
Backend
Operate
Reference
- Scenarios Canonical multi-step flows that exercise the ambient surface kinds from one shared shape.
- Compatibility Pinned Expo SDK, React Native, iOS, Xcode, and @bacons/apple-targets row.
- Versioning Charter Linked release group, independent packages, deprecation timeline, schemaVersion policy.
- Schema The current wire shape, codec chain, deprecation timeline, JSON Schema $id, future evolution policy.
- Trap Catalog Maintenance Schema and workflow for editing the trap catalog that generates AGENTS.md and CLAUDE.md.
Trap catalog
Trap catalog
Every iOS Live Activity silent-failure mode, with symptom and fix.
- Total
- 39
- Errors
- 31
- Warnings
- 2
- Info
- 6