You will need:
- An active apple developer license
- A server in which to deploy sygnal
Push notifications in Matrix are configured by the client.
This is necessary due to the fact that that push is controlled by the device vendor. In other words, the iOS app tells the homeserver where the Sygnal server with the certificate corresponding to the App’s “App ID” is.
So you need to deploy a Sygnal server if you haven’t already, and load it with the certificate matching your the App ID you’ve compiled Riot as.
Modify the plist file for Riot, configuring the AppID you’ll use and the Push Gateway (Sygnal) URL. This URL is relative to Synapse, as synapse will be the one receiving the messages through other matrix users. It will use this URL to push the notification to your device.

Login to the apple developer portal at https://developer.apple.com
Go to the Certificates area, then go to “All”, and click the plus button

Choose the correct certificate for push, highlighted in green:

Go through the process of acquiring the certificate

Locate the certificate and keypair, and export it as
p12.

Convert the
p12file to apemfile:1
2
3[keyvan@airframe ~]$ openssl pkcs12 -in ~/Desktop/Certificates.p12 -out apns.pem -nodes -clcerts
Enter Import Password:
MAC verified OKConfigure Sygnal to use this
pemfile:1
2
3
4[apps]
pw.keyvan.riot.type = apns
pw.keyvan.riot.platform = sandbox
pw.keyvan.riot.certfile = /mnt/storage/apns.pem
Notes
You may want to do some maintenance on existing pushers in your Synapse database.
To list existing pusher entries:
1 | select * from pushers; |
To delete any existing pusher entries:
1 | delete from pushers; |