Skip to content

Pushwoosh/pushwoosh-ios-sdk

Repository files navigation

Pushwoosh iOS SDK

Platform Swift Objective-C License

Push notifications, In-App Messaging, and more for iOS, tvOS, and watchOS applications.

πŸ“š Documentation

Pushwoosh Documentation PushwooshVoIP Documentation PushwooshLiveActivities Documentation PushwooshTVOS Documentation PushwooshForegroundPush Documentation

πŸš€ Features

Core SDK

  • Push Notifications - Standard push notifications with rich media support
  • In-App Messages - Customizable in-app messaging
  • Tags & Segmentation - User targeting and segmentation
  • Inbox - Built-in message inbox functionality
  • Analytics - Delivery and conversion tracking

Advanced Modules

  • VoIP Push Notifications - CallKit integration for VoIP apps
  • Live Activities - iOS 16.1+ Live Activities with push updates
  • tvOS Support - Push notifications and Rich Media for Apple TV
  • Foreground Push - Custom foreground notifications with animations and effects

πŸ“¦ Installation

Swift Package Manager (Recommended)

In Xcode, go to File β†’ Add Package Dependencies and enter:

https://github.com/Pushwoosh/Pushwoosh-XCFramework

Select the modules you need in your target's Frameworks, Libraries, and Embedded Content section.

Available modules:

  • PushwooshFramework - Core SDK (required)
  • PushwooshCore - Core functionality (required)
  • PushwooshBridge - Bridge module (required)
  • PushwooshLiveActivities - Live Activities support (required)
  • PushwooshVoIP - VoIP push notifications (optional)
  • PushwooshTVOS - tvOS support (optional)
  • PushwooshForegroundPush - Custom foreground notifications (optional)

CocoaPods

Add to your Podfile:

# Core SDK
pod 'PushwooshXCFramework'

# Optional modules
pod 'PushwooshXCFramework/PushwooshVoIP'
pod 'PushwooshXCFramework/PushwooshTVOS'
pod 'PushwooshXCFramework/PushwooshForegroundPush'
pod 'PushwooshInboxUIXCFramework'

Then run:

pod install

πŸ”§ Quick Start

1. Initialize SDK

import PushwooshFramework

func application(_ application: UIApplication,
                didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    Pushwoosh.sharedInstance().registerForPushNotifications()

    return true
}

2. Handle Device Token

func application(_ application: UIApplication,
                didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    Pushwoosh.sharedInstance().handlePushRegistration(deviceToken)
}

3. Process Notifications

func application(_ application: UIApplication,
                didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

    Pushwoosh.sharedInstance().handlePushReceived(userInfo)
    completionHandler(.newData)
}

πŸ“± Modules

Core SDK for push notifications, in-app messages, and analytics.

Requirements: iOS 11.0+ | Swift 5.0+

VoIP push notifications with CallKit integration.

Requirements: iOS 14.0+ | CallKit

Live Activities support with push-to-start (iOS 17.2+) and real-time updates.

Requirements: iOS 16.1+ | WidgetKit | ActivityKit

Push notifications and Rich Media HTML for Apple TV.

Requirements: tvOS 11.0+

Custom foreground notifications with animations, haptic feedback, and visual effects.

Requirements: iOS 13.0+ | Supports Liquid Glass effect on iOS 26+

πŸ†˜ Support

πŸ“„ License

Pushwoosh iOS SDK is available under the MIT license. See LICENSE for details.


Made with ❀️ by Pushwoosh

About

Pushwoosh iOS SDK

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 12