Helpful extensions and abstractions for using APNSwift
link |
Stars: 73 |
Last commit: 1 week ago |
This is a breaking change and requires new configuration when starting up vapor.
let authenticationConfig: APNSConfiguration.Authentication = .init(
privateKey: try .loadFrom(string: appleECP8PrivateKey),
teamIdentifier: "ABBM6U9RM5",
keyIdentifier: "9UC9ZLQ8YW"
)
let apnsConfig: APNSConfiguration = .init(
authenticationConfig: authenticationConfig,
topic: "MY_TOPIC",
environment: .sandbox,
eventLoopGroupProvider: .shared(app.eventLoopGroup),
logger: app.logger
)
app.apns.containers.use(apnsConfig, as: .default)
if you're loading your p8 file from disk, use loadFrom(filePath:)
let authenticationConfig: APNSConfiguration.Authentication = .init(
privateKey: try .loadFrom(filePath: "/Users/kylebrowning/Documents/AuthKey_9UC9ZLQ8YW.p8"),
teamIdentifier: "ABBM6U9RM5",
keyIdentifier: "9UC9ZLQ8YW"
)
You can also choose to send sandbox/prod environment on the notification send function
try await apns.client.send(aps, to: deviceToken, on: .sandbox)
Full Changelog: https://github.com/vapor/apns/compare/3.0.0...4.0.0-alpha.2
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics