Troubleshooting

For load balancing purposes we may need to change the API endpoints in your application. This happens automatically and is handled by our SDK. Please make sure that nothing in your app is blocking access to any URL containing *.pushwoosh.com.

If you are behind a Firewall or your WiFi router acts as a Firewall

If you are behind Firewall or your WiFi router acts as a Firewall

If your device is connected to the Internet via WiFi, and messages don’t get through to the device, please make sure APNs ports are not blocked by your firewall.
Push providers, iOS devices, and Mac computers are often behind firewalls. To send notifications, you will need to allow inbound and outbound TCP packets over port 2195. Devices and computers connecting to push service over Wi-Fi will need to allow inbound and outbound TCP packets over port 5223.
The IP address range for the push service can change; providers are expected to connect by hostname rather than IP address. Push service uses a load balancing scheme that yields a different IP address for the same hostname. However, the entire 17.0.0.0/8 address block is assigned to Apple, so you can specify that range in your firewall rules.

"Your provisioning profile does not have APS entry" error

If you see the "Your provisioning profile does not have APS entry." error message, make sure your provisioning profile is push compatible and has the aps-environment string in it with the production or development value. The easiest way to check is to open the mobile provisioning profile in any text editor and look for the aps-environment string. It should be there.

If it is, and you keep receiving the error, it means that XCode still picks a "non push-compatible" profile. Please make sure you sign with the right one - sometimes if you have two profiles for the same App ID XCode messes things up and signs with the old one.

The recommended steps are:

  1. Remove all XCode profiles;
  2. Add the one and only new profile;
  3. Rebuild the app.

What does iOS push token and hwid look like?

iOS device push tokens are strings with 64 hexadecimal symbols. Push token example:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Make sure that iOS push tokens you use when targeting specific devices in your API requests are in lower case.

Starting with iOS 7 Pushwoosh SDK hwid is based on either IDFV or IDFA depending on the application settings (whether the app is using Ad Framework). If you do not use the Advertisement Identifier in your application for advertising, do not link the AdSupport.framework, and Pushwoosh will use IDFV instead of IDFA. HWID example:

CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93

HWID changes every time app opens when installed from TestFlight

This is a design flaw in TestFlight, going back to 2014. It will only happen with TestFlight, not in production apps in the app store.

In this talk transcript, we read: "Also this year, for TestFlight apps the advertising identifier will be different each time you call the API."

More information here: http://stackoverflow.com/questions/26648840/ios-testflight-beta-app-get-new-advertising-identifier-in-each-run

How do I switch banner on and off when my app is running?

By default our latest iOS SDK displays the notification banner when the app is running in the foreground.
You can control this behavior by changing the following flags in the Info.plist:

Flag Pushwoosh_ALERT_TYPE – string type, values are:

  • BANNER – default value, displays banner in-app alert
  • ALERT – alert notification
  • NONE – do not show notifications when the app is in the foreground

How do I obtain my iOS device push token to use in Test Devices?

To get your iOS device push token,

  • open Xcode Devices;
  • connect the test device to your computer;
  • select your connected device in the list of devices on the left;
  • click the up-triangle at the bottom left to view device console.

Launch the application for which you need the device push token, and locate your 64 hexadecimal characters device push token in the “Registered for push notifications” line:

Why are badges are not cleared after I uninstall my app and re-install it in a short period?

It is an expected behavior - badges are handled by iOS itself and its values are stored in application preferences, which are not instantly removed when you uninstall your app. A badge value remains there for some time in case of immediate re-installation, resulting in the same badges shown after an app is re-installed.

iOS FAQ