APNSwift
APNSwift is a Swift package I created that provides a non-blocking implementation for sending push notifications to Apple devices via the Apple Push Notification Service (APNS).
Why I Built It
When working on iOS applications, I found that the existing solutions for sending push notifications from Swift servers were either outdated, blocking, or didn't take full advantage of HTTP/2. I wanted to create a modern, performant solution that the community could rely on.
Key Features
- Non-blocking I/O: Built on SwiftNIO for high-performance, asynchronous networking
- HTTP/2 Support: Takes full advantage of HTTP/2 multiplexing for efficient connection usage
- Type-safe API: Leverages Swift's type system for compile-time safety
- Token & Certificate Auth: Supports both JWT token-based and certificate-based authentication
- Async/Await: Modern Swift concurrency support
Impact
The library has been widely adopted by the Swift server community and is used by Apple itself. It's part of the Swift Server Community organization on GitHub, where it continues to be actively maintained.