- "Your provisioning profile does not have APS entry" error
- What does iOS push token and HWID look like?
- HWID changes every time app is opened when installed from TestFlight
- How do I switch banner on and off when my app is running?
- How do I obtain my iOS device push token to use in Test Devices?
- Why are badges not cleared after I uninstall my app and re-install it in a short period?
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 22.214.171.124/8 address block is assigned to Apple, so you can specify that range in your firewall rules.
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
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:
- Remove all XCode profiles;
- Add the one and only new profile;
- Rebuild the app.
iOS device push tokens are strings with 64 hexadecimal symbols. Push token example:
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:
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."
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:
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
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:
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.