Push Notifications


iOS Push Module Prerequisites & Dependencies

Before integrating the Indigitall Push SDK module (indigitall-ios-push) into your iOS application, ensure your project meets the following requirements.

1. Environment & Compatibility

  • Minimum iOS Deployment Target: iOS 15.6 or higher (as declared in the podspec).
  • Swift Version: Swift 5.0 or higher.
  • Objective-C Compatibility: The module is written in Objective-C with full Swift interoperability via module maps and bridging headers.
  • Package Manager: CocoaPods or Swift Package Manager (SPM) — both are supported.
  • Xcode: Xcode 13 or later is recommended to guarantee compatibility with the Swift tools version (swift-tools-version:5.5) declared in Package.swift.

2. Integration Options

CocoaPods

Add the following to your Podfile:

platform :ios, '15.6'

target 'YourApp' do
  use_frameworks!
  pod 'indigitall-ios'
end

Then run:

pod install

Swift Package Manager

Add the binary target via the Xcode Package Manager UI or your Package.swift by pointing to the IndigitallPush.xcframework.zip artifact at the desired tagged release URL.

3. Required Apple Capabilities

Enable the following capabilities in your Xcode project target:

  • Push Notifications — Mandatory. Required to request an APNs token and receive remote push notifications.
  • Background Modes → Remote notifications — Required for silent push processing and background device-state sync.
  • Background Modes → Background fetch — Used by the SDK to perform periodic background syncs. The interval is configurable via the minimumBackgroundFetchInterval property in INPushConfig (default: 3600 seconds).

4. Required Internal Modules

The Push module depends on the following internal Indigitall components, which are bundled into the IndigitallPush.xcframework:

  • Core (IndigitallCore): Provides the base infrastructure — network request layer (INBaseClient), local data persistence, remote configuration, and the base device model (INCoreDevice).
  • Customer (IndigitallCustomer): Allows mapping push tokens to specific user profiles and custom user attributes.
  • Inbox (IndigitallInbox): Manages local storage and native retrieval of push notification history.
  • LiveActivity (IndigitallLiveActivity): Integrates real-time Live Activity push updates delivered through APNs.