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 inPackage.swift.
2. Integration Options
CocoaPods
Add the following to your Podfile:
platform :ios, '15.6'
target 'YourApp' do
use_frameworks!
pod 'indigitall-ios'
endThen run:
pod installSwift 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
minimumBackgroundFetchIntervalproperty inINPushConfig(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.
