The WonderPush Developer Hub

Welcome to the WonderPush developer hub. You'll find comprehensive guides and documentation to help you start working with WonderPush as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Troubleshooting iOS

Common issues on iOS.

Push certificate

Creating or renewing an iOS Push certificate

Follow this comprehensive article from Apple Developer Account Help: Communicate with APNs using a TLS certificate.

Notification display issues

Notifications not shown at all

👍

Activate logging

Activate logging by calling WonderPush.setLogging(true),
When a notification is received, WonderPush will add log entries. You can tell when a notification is received by filtering your log with the string userInfo.

If your device is connected to the Internet via an enterprise network, chances are you are behind a Firewall. Apple push notification service, the technology behind iOS push notifications, requires ports 5223, on IPs 17.0.0.0/8 to be open for notifications to be delivered.

If the notification is received but not displayed:

  1. make sure it isn't a silent notification,
  2. make sure its Text field isn't empty,
  3. make sure its payload's aps.alert.body property has a value.

If the notification is not received and the logs are empty:

  1. make sure you have a valid push certificate,
  2. if you are deploying via Xcode, make sure the push certificate is valid for the sandbox environment,
  3. if you are deploying a production build, make sure the push certificate is valid for the production environment,
  4. find your installationId in the logs and make sure it is part of your notification target,
  5. finally, make sure your notification get sent by observing its number of Notifications sent on the notification detail page.

If you are still experiencing issues, please let us know by chatting with us.

Notification has no Image

  1. Verify the URL of the image by opening it in a web browser. The image should be displayed.
  2. Make sure the URL is a direct link to the image, not an HTML page.
  3. Make sure the URL of the image is HTTPS. If the URL is HTTP, make sure it is allowed by App Transport Security.
  4. Make sure there is no redirect by pasting the URL in a web browser and verifying the URL doesn't change when the image is displayed.
  5. Make sure you've correctly added the Notification Service Extension as described in the quickstart guide
  6. Make sure the Notification Service Extension's Deployment target is iOS 10.0.

Video content is not playing

Check every item of the Notification has no image section as if your video was an image. In addition, also check the following:

  1. Make sure your video content is within the iOS size limitations.
  2. Make sure your video format is supported by iOS by opening the URL of your video in Safari on an iOS device.

Xcode errors

After installing Xcode 10.3 I get "Failed to find or create execution context for description..."

You just installed Xcode 10.3 and you get a build error similar to:

Failed to find or create execution context for description <IBCocoaTouchPlatformToolDescription: 0x7fa8bad9a6f0>

This worked for us:

sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService

See this stackoverflow answer.

When I run my app, I get this warning: Class WP[...] is implemented in both [...]WonderPushExtension.framework[...] and [...]WonderPush.framework[...]. One of the two will be used. Which one is undefined.

This runtime warning is harmless. It is due to a known CocoaPods issue that results in the main app target being linked against all pods, including those of the notification service extension.

You can safely ignore this warning, but if you want to remove the annoying log messages, here are a few options:

  • In Xcode, find the Pods-MyApp.debug.xcconfig and Pods-MyApp.release.xcconfig files inside the Pods project in the Targets Support Files/Pods-MyApp directory (replace MyApp with your app name). Edit both files to remove -framework "WonderPushExtension" from the OTHER_LDFLAGS setting. This will make the warning go away, but this modification will not survive the pod install command.

  • You can also move away from CocoaPods and use another installation method for WonderPush. We support Carthage Integration and Manual iOS Integration.

Debugging the notification extension

To debug the notification extension:

  1. Activate logging in the notification extension by adding the following code to the NotificationService class you've created in the quickstart guide:
func loggingEnabled() -> Bool {
  return true
}
- (BOOL) loggingEnabled {
  return YES;
}
  1. Open the logging console in Xcode under Window > "Devices and Simulators". Select your device on the left and open the log up arrow at the bottom.
  2. Send yourself a notification and look for the string didReceiveNotificationRequest in your device logs.

We do not recommend attaching the debugger to the notification extension, as this can cause the extension to stop working entirely. When this happens, you need to reboot your iOS device.

Updated about a month ago

Troubleshooting iOS


Common issues on iOS.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.