Modules
PushwooshCore
Core SDK functionality and shared components
PushwooshForegroundPush
Foreground push notification handling
PushwooshGRPC
Optional gRPC transport for improved performance
PushwooshKeychain
Persistent device identification across app reinstalls
PushwooshLiveActivities
Live Activities support for iOS 16.1+
PushwooshTVOS
Push notifications for Apple TV
PushwooshVoIP
VoIP push notifications and CallKit integration
Pushwoosh
Push notification SDK for iOS applications
AI-Assisted Integration
Quick Start
1
Install the SDK
Xcode → File → Add Package Dependencies → enter URL:
https://github.com/Pushwoosh/Pushwoosh-XCFramework
Required
PushwooshFramework
PushwooshCore
PushwooshBridge
Optional
PushwooshLiveActivities
PushwooshVoIP
PushwooshForegroundPush
PushwooshKeychain
PushwooshGRPC
pod 'PushwooshXCFramework'
2
Configure Info.plist
<key>Pushwoosh_APPID</key> <string>XXXXX-XXXXX</string> <key>Pushwoosh_API_TOKEN</key> <string>YOUR-DEVICE-API-TOKEN</string>
3
Enable Capabilities
Push Notifications
Background Modes → Remote notifications
4
Initialize SDK
import PushwooshFramework class AppDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { Pushwoosh.configure.setDelegate(self) Pushwoosh.configure.registerForPushNotifications() return true } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { Pushwoosh.configure.handlePushRegistration(deviceToken) } // Called when a push is received func pushwoosh(_ pushwoosh: Pushwoosh, onMessageReceived message: PWMessage) { print("Received: \(message.payload)") } // Called when a push is tapped func pushwoosh(_ pushwoosh: Pushwoosh, onMessageOpened message: PWMessage) { print("Opened: \(message.payload)") } }
#import <PushwooshFramework/PushwooshFramework.h> @interface AppDelegate () <PWMessagingDelegate> @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Pushwoosh.configure setDelegate:self]; [Pushwoosh.configure registerForPushNotifications]; return YES; } - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [Pushwoosh.configure handlePushRegistration:deviceToken]; } - (void)pushwoosh:(Pushwoosh *)pushwoosh onMessageReceived:(PWMessage *)message { NSLog(@"Received: %@", message.payload); } - (void)pushwoosh:(Pushwoosh *)pushwoosh onMessageOpened:(PWMessage *)message { NSLog(@"Opened: %@", message.payload); } @end