Why did Push notifications work in development but not in production (iOS)?
This is a common question. Apple offers two environments for their APNs Platform: one is Sandbox (for testing purposes) and the other is Production (live). When an App is defined as Development - Connecting to testing servers in the MOCA Console App Settings, the APNS Sandbox is used.
When the App goes into production it will need to be connected to the Production APNs environment. This means that, even with the same App Key, Apple will not be able to reach Production users when sending messages to the Sandbox environment. Thus we highly recommend having two MOCA Console Apps configured, one with Development and one with Production set up in order to correctly test remote push and also to correctly deploy the messages to production users.
Here is an image showing the differentiation between Production and Development at the Apple Developer certificate level:
Always remember to use the adequate App Status in the MOCA console, even if you use an universal certificate.
More about APNS can be found at Apple's APNS Overview. A good guide on what could of gone wrong can be found at Apple's official troubleshooting Push Notifications documentation.