FAQ on Pushwoosh iOS SDK

How to solve common issues with Pushwoosh iOS SDK


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 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 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.

Pushwoosh uses IDFV as the device HWID. Note that it may change in case user re-installs all apps from a specific vendor.


How do I set a UserID?

You have the option to set a User identifier (UserID), which could be a Facebook ID, username, email, or any other unique user ID. This enables you to match data and events across multiple devices associated with the same user. To set the UserID, call the setUserId method.


[[Pushwoosh sharedInstance] setUserId:@"userId"];

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,

  1. Open Xcode => Devices & Simulators;

  2. Connect the test device to your computer;

  3. Select your connected device in the list of devices on the left;

  4. Click the Open Console button.

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 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.

Share your feedback with us

Your feedback helps us create a better experience, so we would love to hear from you if you have any issues during the SDK integration process. If you face any difficulties, please do not hesitate to share your thoughts with us via this form.

Last updated