Creating and Uploading your Apple Push Notification Service (APNS) Certificates

Before you Begin

Before you begin, you will need the following

Navigating the Apple Developer Site

To create or update your APNS Certificates/p12 start by logging in to the Apple Developer Site and navigating to Certificates, IDs & Profiles

dev site landing

In Certificates, IDs & Profiles select Identifiers in the left hand column. Make sure App IDs is selected in the dropdown in the upper right.

app ids landing

In Identifiers find the application you need to create or update certificates for. The application will be identified by its name as registered with Apple and by its bundle id. I’ve found it’s easier to look up the app by bundle id. After finding the application, click on it in the list to bring up the configuration page for the App ID.

In the configuration for the App ID, scroll down to Push Notifications. Ensure that they are Enabled by checking the box in the left column, and then click Edit or Configure.

  1. note:: While you’re here, check the box by Associated Domains too! That’s all you need to do here to add support for Teak Links as well.

  2. warning:: If you checked any boxes, click Save in the top right corner before proceeding. If you create a certificate without clicking Save the changes to enable Push Notifications or Associated Domains will not be saved!

push notif config

In the Apple Push Notification service SSL Certificates modal, click Create Certificate for either Development SSL Certificate or Production SSL Certificate, depending on which you need to update. I’ve found that it’s best to update both at the same time. This keeps expiration times consistent and means you only have to do this once per year instead of twice.

create certificate

After clicking Create Certificate the developer site will instruct you to create a Certificate Signing Request (CSR) in Keychan Access. Let’s walk through that now.

create certificate landing

Creating the CSR

After launching Keychain Access, select Keychain Access  Certificate Assitant  Request a Certificate From a Certificate Authority…​ from the menu bar. This will launch the Certificate Assitant modal.

keychain access menu

In the Certificate Assistant modal enter your work email address for User Email Address. Enter an easy to identify unique name for Common Name. This name is how Keychain Access will display your private key in its lists. This name is not used for any other purposes. Leave CA Email Address blank. Select Request is: Saved to disk and then click Continue. You will be prompted to select somewhere to save the CSR. We’re going to be uploading the file next, so choose somewhere easy to navigate to!

csr info

Creating the Certificate

Back on the Apple Developer Site, click Continue and then upload the CSR you just created. Click Continue after uploading the CSR.

csr upload

After uploading the CSR, the Apple Developer Site will create the certificate and prompt you to download it. Download the certificate. We’re about to open it, so be sure to save it somewhere you can easily navigate to!

csr download

Exporting the p12

After downloading the certificate, navigate to it in the finder and double click on it to open it in Keychain Access.

open in finder

You will be prompted to add the certificate to a keychain. Add it to the default login keychain, and click Add to continue.

add to keychain

After adding the certificate, in Keychain Access navigate to My Certificates in the left hand column, bottom section, and find the certificate you just added. It will be named either Apple Development iOS Push Services: <app bundle id> if you created a Sandbox certificate, or Apple Push Services: <app bundle id> if you created a production certificate. <app bundle id> is the bundle id of the application you created the certificate for.

select certificate

After selecting the certificate, go to File  Export Items…​ in the main menu. Ensure that you have only selected one certificate!

export menu

You will be prompted to save the certificate. Ensure that the File Format is Personal Information Exchange (.p12). No other file format is acceptable. Save it to somewhere you can easily navigate to, because we will be uploading it to Teak shortly (you’re almost there!)

export settings

You will be prompted to add a password to protect the exported items. I suggest leaving this blank. If you do enter a password, you will later have to enter the same password into Teak.

password

Uploading to Teak

Now that the p12 is saved, we just have to add it to Teak! In the Teak Dashboard, navigate to Settings  Mobile for your game, and click Manage APNS Certificates in the iOS section.

teak settings

In the modal that appears, click Choose p12 File and select the p12 file you just exported. If you set a password for the p12 file, enter the password in the Password (Optional) field after selecting the p12.

teak upload

Teak will show you information about the p12 you are adding. Confirm that the bundle id matches the bundle id for your game, and that the expiration date is in the future. If everything looks good, click Save to upload and use the p12.

teak upload done

You’re done! I suggest repeating this process for the other environment (Sandbox or Production) now, while it’s fresh in your mind. Note that you can upload as many certificates to a single Teak game as you need to, and you can upload the same certificate to multiple Teak games as well.