In the good old days of the original TestFlight I had a development certificate set for TestFlight releases and a production certificate for the live release of an app I'm working on. Never had any problems.
Since Apple took over I noticed the push notifications were failing and I discovered that the TestFlight sandbox on Apple only worked with the production certificate. This made no sense but worked. A week ago the notifications started failing once again (invalid token 8). Shifting to the development certificate did the job (the way it should have originally been on the TestFlight sandbox).
This morning the notifications are failing again and once again moving to the production certificate sent all the notifications.
Now to my question, is Apple making some changes that are affecting this or am I doing something wrong?
For users having the same issue. After some investigation I noticed that running an app from Xcode signs the app with a development certificate but installing the same release off Apple TestFlight does so with a production certificate. The notifications would fail on my device since I still had the Xcode version installed rather than the TestFlight release. For some reason I never installed the final version through TestFlight but left the one deployed from Xcode.
Related
Building with scheme configuration Release, I manage to get Push Notification (I've generated prod and dev certificates).
But after releasing to TestFlight, not receiving pushes any more, same exact build.
Any idea?
I'm using Firebase FCM for push notification, do not think it has anything to do with this, since push do work when building Release from Xcode on device.
This is so strange, I've just revoked distribution certificate on apple developers portal, re created certificate request and certificate, and now it works both on build release, and on TestFlight.
My cert for push notifications expired a few days ago. I updated it on the developer portal and put the new one for my server to use. Everything works not for the app that is downloaded from the app store.
When i try to load a in-dev build from x-code all push notifications fail. Apple responds back with message "Invalid Token".
I have literally done nothing. I just started it up and started testing to make sure everything is working. Is there some way to update the cert in the app or something of that sort??
NOTE: uploaded my app to testflight and everything works. Only does not work while developing right from xcode.
For developing you use different APN and Certificate that for
Production.
Apple generate different tokens for app in Debug and app
in Production.
Your server is using a Production certificate and a
Production APN.
TestFlight app is a Production ready app.
Now:
In Debug you send a Debug token to a server in Production, that Debug token is NOT registered on Apple Production APN.
In TestFlight you send a Production token to a server in Production, that Production token IS registered on Apple Production APN.
So all is working as intended.
Apple no longer provides separate Push Notification SSL certificates for Production and Development Apps.
Which may be causing Push Notification failures to newly submitted apps on the app store using the Appcelerator Platform
Instead Apple now provide the following 2 certificates:
"Apple Push Notification service SSL (Sandbox)" - works in
development
"Apple Push Notification service SSL (Sandbox &
Production)" - works in development But not in Production
Please see the certificates selection on the Apple Developer center
The Certificate's are no longer listed as:
APNs Developement iOS or APNs Production iOS
but NOW instead simply as Apple Push Notification
The new listing of APN certificates
These certificates installed and exported from my keychain as .p12 and uploaded and saved to my Appcelerator Platform as usual.
In Development
Push works as expected
In Production (ad Hoc or App Store Submissions)
Device registers to Push and retrieves a device token.
This is confirmed in the Appcelerator Platform
This is also confirmed on the device's APSD logs which are observed by downloading and installing PersistentConnectionLogging.mobileconfig on the device
This shows:
The device is enabled to receive Push from my bundle ID
The Device receives a device Token
When sending a simple Push Notification using Appcelerator Platform, the Success status is returned for all iOS devices (in test only one used)
However, no push notification is seen on the device (multiple devices tested).
I can see both Parse and Urban Airship have made some changes since Apple's change (Late Dec 2015)
Existing apps seem to have no problem. Only new Production Apps using the new Apple Push Notification Certificate seem to have an issue :(
The app code is working, and correct as Push is successfully delivered in Development for iOS, Android is working too.
I have also deleted and recreated provisioning profiles and push certificates to check configuration.
Anyone else seeing this issue too or am I going mad :)?
First Post here so please be gentle :) I have given my best effort to check for similar questions/answers and to give you guys the most info I can give.. any pointers to better frame the above are most welcome.
I'm working on an app and testing it with my partners via Apple's New TestFlight. I've never had issues with the old TestFlight system but now all of a sudden if I install the app via USB Cable & Xcode notifications come streaming in.
However if I install via Apple's TestFlight notifications never get delivered.
I'm using Parse for notifications and again have never had any problems. Anyone else have any issues or advice? Pretty frustrating.
Ok. Well it would seem that Apple's New TestFlight considers any version pushed "production". Therefore you must have a production certificate generated as well. Best best is to use an AdHoc Provisioning Profile which will use the production push certificate. Don't use a Development Provisioning Profile with a Development Push Certificate.
The more you know...
i have used app with ios8.0 SDK and created explicit app id which is enabled push notifications for development environment
I have create provision profile for explicit app id and added profile to Xcode and run the app , then device token is generating, by using NWpusher i have tested notifications. notifications are working fire.
If we build the app and created ipa and installing that ipa on same device, generating different device token, and by using that device token in NWpusher app notifications are not working
Here i have used only developer environment for notifications
You have to repeat the exact same procedure that you undertook for the development certificate and testing in Xcode, once again only now for the production environment.
Getting push notifications to work can be a real pain, thus it is important to take a structured approach. Your issue is actually quite common, people tend to think that once they got push running in dev mode, it'll work in production mode immediately. This is not the case.
I recommend you to go through Ray Wenderlich's Tutorial on Push and take it step by step. They are demonstrating the case with a dev certificate as well, but the in the end they state the following (and this part is very often overread, they should point it out more clearly):
When you are ready to release your app, repeat this process for the
production certificate. The steps are the same.
You need to generate certificate and environment for distribution to work