---
title: "PhoneGap multiple push providers"
slug: "phonegap-multiple-push-providers-ios"
updated: 2026-06-09T22:37:19Z
published: 2026-06-09T22:37:19Z
canonical: "docs.xtremepush.com/phonegap-multiple-push-providers-ios"
stale: true
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PhoneGap multiple push providers

By default, the Xtremepush iOS Phonegap plugin uses method swizzling to inject the required AppDelegate methods for push handling. If you have multiple push providers in your Cordova-based application this can interfere with your existing setup so instead, the plugin's method swizzling can be disabled and the AppDelegate methods can be updated manually to call the Xtremepush SDK as required.

## Switching to manual method configuration

1. Disable swizzling by putting a boolean flag for `XPushSwizzlingDisabled` in your `Info.plist` to `YES`.
2. Confirm that each of the following methods is present in your `AppDelegate.m` file and add call the relevant Xtremepush SDK methods from each, as shown below:

Here's a sample implementation:

```objectivec
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken\
{\
    [XPush applicationDidRegisterForRemoteNotificationsWithDeviceToken:deviceToken];\
}
```

```objectivec
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
    [XPush applicationDidFailToRegisterForRemoteNotificationsWithError:error];
}
```

```objectivec
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    [XPush applicationDidReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}
```

```objectivec
-(void)application:(UIApplication *) didReceiveLocalNotification:(UILocalNotification *)localNotification
{
    [XPush applicationDidReceiveLocalNotification:notification];
}
```

If using `UNUserNotificationCenter`:

```objectivec
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler
{
    [XPush userNotificationCenter:center didReceiveNotificationResponse:response withCompletionHandler:completionHandler];
}
```

If you need to check if a message has come from Xtremepush, so you can ignore it, please see the further information on the main docs page for supporting [Multiple Push Providers](/documentation/docs/multiple-push-providers)
