I am working on an iOS application that rely heavily on push notifications. We are planning to use Firebase Teslab to test it.
We have managed to get some simple test running on the firebase devices.
But we are encountering a blocker as the devices on firebase are not able to register/receive push notifications. Everything works fine when we are testing locally. The issue is probably that device on firebase don't have the required certificates or provisioning profiles.
I was wondering if anyone has managed to test application with APNS on firebase test lab.
Thank you in advance for the help.
As you already concluded the issue is due to certificates and the provisioning profiles. Test Lab resigns the app to be able to run it in their infrastracture. Unfortunately this means that only a small set of entitlements is supported. I'm not that familiar how APN works, but I assume there is also an authentication step that happens with the server and since the provisioning profile is replaced it won't authenticate your app correctly.
Related
I've developed an app with Ionic for Android and iOS devices.
I'm having trouble with the notifications for iOS. In development everything works fine, but in production, when I send the notification, it gets back to me with this error: `
APNS_BAD_DEVICE_TOKEN
The certificates that I've uploaded on ionic.io are the ones generated by distribution, I'm positive about that. APNS certificate such as APP Store one and Provisioning Profile as well.
If I download the app from the Apple Store i get the error I wrote before, and if I create it from Xcode, it works perfectly. Plus it generates two different device tokens (one with the App Store and another one from Xcode).
I've deleted and created the certificates many times, and everything is still working like that. I'm pretty lost here, can anyone help me out?
If you are installing directly to your phone from Xcode, then you have to use Development security profile and make sure you are sending the notification from server side to iOS devlopment sand box. If you are using TestFlight/AppStore you need to use Production profile and make sure you are sending the notification to iOS production sandbox.
I have a published app in the app store that uses push notifications. Everything works correctly.
So far, to test, what I did was load the app on my devices to test in a sandbox environment and create an ad hoc distribution to test it in a production environment.
But after upgrading to Xcode 7.0.1 and iOS 9 I'm having serious problems to test the app. In the sandbox environment everything works as before, but when I generate ad hoc distribution, the token is generated by the development environment.
I am also having problems since the dialogue to your acceptance or not receive notifications does not appear even if you delete the app and reinstall it.
Someone with the same problem after updating xcode? Any idea how to fix this?
Thanks
EDITED: Im getting the following error: A error code of 8 indicates that the device token is invalid. This could be for a number of reasons - are you using the correct environment? i.e. Production vs. Sandbox
Check for apns certificate do you use on server side for testing (Prod/Dev).
Try to save for development deployment
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
We have a live app which sends push notifications just fine.
New version of the app, not yet released - we want to test that push notification works, but it seems all we can test is that the service is working. This test version which uses the 'sandbox' doesn't actually send a push to a development phone ....
Is this right? Is there a way I can test this new version of the app AND receive push notifications to my device?
Been trying to crack it for several days now.
Thanks in advance!
Andy
You need distribute the Distribution version of your app using ad hoc.
When your application ready for submission, you create an ad hoc provisioning profile specifying an App ID that matches one or more of your apps, a set of test devices, and a single distribution certificate.
Here is an image to illustrate how the provision profile works:
You need to first test the app in isolation to check that is working, then when it is move on to testing the app and server in combination.
To test your app in isolation run it in Xcode and put in a breakpoint or NSLog to find out what the APN token is.
Then use the php script from here
http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
using your APN token and credentials.
It should work, and it should work in the sandbox, if it doesn't then your app isn't correctly configured so work at investigating why it doesn't work until you can send it a push manually.
THen once you can send a push manually test you can send one using your server, if you can't then it must be due to a problem with the server as you have just confirmed the app is working. If the server isn't working its probably not using the credentials or applying the password to the credentials, something like that