iOS Push Certificates and Provisioning Profiles are the most frequent cause of issues. Please check the following before contacting us.
App Store Review Issues
1. You got an email notice about Push Notifications like the one shown below when an App was submitted for review.
In case you’re worried, the App is NOT rejected. You can verify this by checking the status of the App in iTunes connect. Unless the status is Binary Rejected, your App is still in review and all is ok!
App Not Provisioned For Push Warning Notice
We have discovered one or more issues with your recent delivery for <Your App Name Here>.
Your delivery was successful, but you may wish to correct the following issues in your next delivery:
Missing Push Notification Entitlement – Your app appears to include API used to register with the Apple Push Notification service, but the app signature’s entitlements do not include the “aps-environment” entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal…
Why this happens: Apple scans Apps for various API calls as an initial sanity check and if it sees calls to Push Notification services but the App is NOT entitled/provisioned for Push, it emails a warning notice like that shown below, in case this was an oversight.
- If you DO NOT use Push Notifications, you can simply ignore this. Nothing bad will happen.
- If you DID intend to use Push, your App is not entitled/provisioned for Push Notifications and you should review Apple’s Docs and/or the AskingPoint docs for Push Notification setup.
1. Are you using AskingPoint SDK v2.3 or later?
If you did not build an App using SDK v2.3 or later, or the App on the device is not running an App using SDK v2.3, it cannot receive Push Notifications sent from the AskingPoint Dashboard.
2. Did the App register for Push Notifications in the Application Delegate?
If the App fails to call [[UIApplication sharedApplication] registerForRemoteNotificationTypes:] then there will be absolutely NO indication on the console that the App has registered or failed to register for Push. In other words, you will not see anything like what is shown (underlined in red) on the console printout in the answer to question 2!
Certificate & Provisioning Issues
1. Was the correct APN Certificate uploaded?
When Push Certificates are uploaded, the dialog requires you to indicate if it is a Development or Production certificate. We also try and detect that on our own by examining the Certificates OIDs. The Certificate Upload dialog throws an exception and refuses to accept certificates when what you said it is (development or production), does not match what we think it is. We do this to help ensure the right one is uploaded, BUT we cannot tell so easily which App the certificate is for. So please check that you uploaded a certificate for the right App.
2. Is the test device included in the Provisioning Profile used to sign the App?
Make sure the device your testing with is included in the Provisioning Profile being used. If not, add it via the Provisioning Portal and update the Provisioning Profiles on your local machine via Xcode. To do that Open Xcode and select from the menu bar: Xcode > Preferences > Accounts > View Details > refresh button.
One way to detect if an App and Device is properly provisioned is to connect the device to Xcode and start the App your working with. At the beginning of the startup sequence you should see the following printed to the console:
If something is wrong with Provisioning or the device is not included in the Provisioning Profile, there is usually an exception indicating the nature of the problem.
1. You get the following error when sending a Push Message to a registered Test Device: “This device is NOT Provisioned for Push with this App.”
This happens when the registered test device has NEVER been seen by AskingPoint registering for Push in that App. There are lots of ways this can happen. Here are some:
- You didn’t Provision that device for Push. Check Provisioning Portal.
- You’re not testing the device you think you are. Check that the Device ID logged to the console matches the one shown on the Test dialog.
- You’re device ID changed. Here are some of the ways that can happen:
- You wipe the device and do not restore from backup.
- You went into device Settings > Privacy > Advertising > Reset Advertising ID and reset.
- You initially registered the Test Device using a UUID and we subsequently changed it over to Advertising ID at some point after SDK v2.1 rolled out. Check that Test Device ID on console matches the one shown on the Test Dialog.
- You stopped or started including Ad Support Framework and the device now uses a different ID from when you registered it as a Test Device.
- Not one of these? Check around this section for other possible solutions.
2. Custom Alert Sound not played when push message arrives.
This can happen for several reasons:
- The UIUserNotificationTypeSound flag is not included when the App registers for Push.
- The sound file named in the Push message is incorrect or not in the App bundle or in the wrong place.
- The sound file is not one of the supported sound file types. See your platform Push documentation.
Other Possible Problems… These usually happen late at night
Ok… so you’re all the way down here in the late night stupid section. Don’t feel too bad. We added these because we did ALL of this ourselves while building this amazing tool for you….. mwahahhaha!
1. Not getting that Push Message you sent?
R u sure you sent it? See that Push Message on the App’s Push Dashboard… if it’s status is Editing, you thought you sent it but actually you didn’t. Go ahead and hit that Send button. K, R U good now? Awesome, go grab a beer!
2. Still, not getting that Push Message you sent?
Did you set a schedule for a time that has not arrived yet, either in the Time Zone you picked or the one on the device? Also, don’t forget scheduled things still have to be Sent to actually get scheduled by our servers.
3. Is the device currently allowing Push to be sent to the App?
Check it. Settings > Notification Center > Scroll down to the App > Tap it’s row. Verify the settings are right. If you don’t find the App in the list, then you have some other kind of issue, and you should scroll up to the top of this section and check other things.
4. Are you pushing to the App you think you are?
Ahoy mate! Are you doing any of the following:
- Sending from a test App to a Production App?
- Sending form a Production App to a Test App?
- Sending form an entirely different App?
If so, take a break and try again.
Okay… so these are all the crash scenarios our test dummies ran into. And this section was appropriately written late at night so as to be in the proper tone and spirit. But fear not, we’re pretty sure that your test dummies are going to find stuff ours didn’t :)
Here at AskingPoint we do our best to remove all the rough edges and sharp points so that you don’t hurt yourselves too bad! That’s why AskingPoint is by Developers for Developers. Good luck, and enjoy!