Slide 14
Slide 14 text
UI TESTING : DEALING WITH PUSH NOTIFICATIONS
SENDING A PUSH NOTIFICATION FROM THE UITEST
▸ Requires the .p12 file and its password
▸ Requires a customizable payload
func triggerPushNotification(payload: String, deviceToken: String) {
let uiTestBundle = Bundle(for: TestingPushNotificationsUITests.self)
guard let url = uiTestBundle.url(forResource: "apns_dev.p12", withExtension: nil) else { return }
do {
let data = try Data(contentsOf: url)
let pusher = try NWPusher.connect(withPKCS12Data: data, password: "cocoaheadsnantes", environment: .sandbox)
try pusher.pushPayload(payload, token: deviceToken, identifier: UInt(arc4random_uniform(UInt32(999))))
} catch {
print(error)
}
}