I'm using Appery platform to develop hybrid Apps. For one of the Apps that is already published to Apple Store, I want to enable Push Notifications. The devices are being registered correctly with DeviceID and Token. However, when I try to send push notifications, they do not go through, and platform only returns this error which does not reveal much to me:
Description: Unrecoverable error occurred while trying to communicate with Apple servers: null Devices count: 100
I tried all possible attempst to solve this problem in futile. Most of the tutorials and questions are about creating new App with Push Notification enabled, and not about enabling Push notification to already published App. Therefore, it created a fair amount of confusion as where should I start from and what should I update and what should I leave (e.g., I cannot start from the scratch, my App already registered with an App ID)
Here I describe the steps I've taken to enable PN for my App
- In Apple developer account, I chose
App IDs
fromIdentifiers
menu, and I chose my targeted App ID, clickedEdit
, tickedPush Notification
option and it becameconfigurable
with yellow bulb. - Then, in the same page, I clicked
Create Certificate
underProduction SSL Certificate
. - I uploaded the CSR file that I created long time ago when I published the App. I downloaded the
aps_production.cer
file - As pointed out here, I double clicked on aps_production.cer file to install it in the Keychain Access application, and I can see `Apple Production IOS Push Service certificate and the private key below it in Keychain.
- Right clicked on the certificate in Keychain and exported .p12 file
- Back to Apple developer: under
provisioning profiles
menu, I chosedistribution
and created new provisioning profile: Distribution -> App Store option -> Continue -> my App ID continue -> The certificate my App used when I published first time (The certificate here is not SSL push notification certificate I generated just now. It is the certificate that was created when I published the App first time). - I downloaded the provisioning profile.
- I add all certificates to my platform (basically, .p12 file and provisioning profile. Bundle ID is the same). Then, I generated xcode project which I open in xCode
- In xCode, under
code Signing
I chose the certificate that I created the App with (it is the only option displayed), and I double clicked on my provisioning profile so it appearsprovisioning profile
options (I'm very skeptical about this step though). I built and validated the project successfully, submitted it to App store, it appeared under prerelease section, and Test Flight invitation is received. - I downloaded the App on iPhone and iPad, once I launched the App, I could see it being registered correctly at the backend.
- When I send push notification (from Appery Platform) I get the error above
- Appery support informed me that is something has to do with the certifications mismatch
Now my question is, what is in my steps causing the error? What is missing or not being done properly?
These are other references I used trying to solve the problem