Open-sourced WatchLink today. It's a Swift 6 package that replaces WatchConnectivity with a dual-transport layer: BLE for service discovery, HTTP + SSE for data, and WatchConnectivity running in parallel as a third transport. Every message is framed, acked by the receiving device, and dedup'd by frame ID. Took our production reliability from 60% to 99% three years ago.
Three modules:
- WatchLinkCore: protocol layer, zero platform dependencies
- WatchLink: Watch-side client
- WatchLinkHost: phone-side host (HTTP server built on Network.framework, no external dependencies)
Swift 6, no dependencies beyond what Apple ships.
Because the host-side protocol is just HTTP + BLE, it's cross-platform capable. The v1 release is Swift only but the protocol is trivial to reimplement in any language. Android is planned.
Write-up with the architecture and story: WatchConnectivity was failing 40% of the time. So I stopped using it. — tarek-builds
Repo: GitHub - tareksabry1337/WatchLink: Reliable real-time messaging between Apple Watch and phone. Dual-transport (HTTP + WatchConnectivity). Cross-platform capable. · GitHub
Feedback welcome.