// the find
moozzyk/SignalR-Client-Swift
Swift SignalR Client for Asp.Net Core SignalR server
A Swift client for ASP.NET Core SignalR, covering WebSocket and long-polling transports with automatic reconnection. It targets iOS/macOS developers who need real-time communication with a .NET backend and don't want to implement the SignalR handshake protocol themselves. Still on 0.9.x after years of development, which tells you something about how cautiously it's been versioned.
The transport abstraction is clean — WebSocket and long-polling are swappable behind the same `HubConnection` interface, which mirrors how the official JS client works. Automatic reconnection with a configurable `ReconnectPolicy` is a real feature, not just 'catch and reconnect in a loop'. The test suite is solid: separate fakes, transport mocks, and protocol-level unit tests mean the core logic is actually exercised. SPM support is first-class now, which matters since CocoaPods is slowly dying.
No MessagePack hub protocol — JSON only. The official SignalR clients all support MessagePack, so if your server sends binary or performance matters, you're stuck with JSON overhead. The TestServer in Examples still references .NET Core 3.0.100 in the README; that SDK is ancient and the setup note about macOS Monterey AirPlay conflicts is a sign nobody updated the docs in years. There's no Swift concurrency (async/await) support — the API is entirely callback-based, which means you're writing completion-handler pyramids in a codebase that should have moved to structured concurrency by now. The 0.9.x version ceiling after years of production use suggests the author considers it perpetually pre-1.0 with no clear roadmap to stability.