Modules
PushwooshCore
Core SDK functionality and shared components
PushwooshForegroundPush
Foreground push notification handling
PushwooshGRPC
Optional gRPC transport for improved performance
PushwooshInboxKit
Modern UIKit inbox UI with banner / captioned / classic cards
PushwooshKeychain
Persistent device identification across app reinstalls
PushwooshLiveActivities
Live Activities support for iOS 16.1+
PushwooshNotificationUI
Full-screen push stories UI for notification content extensions
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
PushwooshInboxKit
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