iOS SDK Module Prerequisites & Dependencies
Before integrating the Indigitall iOS SDK (indigitall-ios) into your 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 SDK is written in Objective-C with full Swift interoperability via module maps.
- 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 Indigitall.xcframework.zip artifact at the desired tagged release URL.
3. Required Internal Modules
The full SDK (indigitall-ios) bundles all Indigitall sub-modules. Including it will make the following components available:
- Core (
IndigitallCore): Base infrastructure — network request layer, local data persistence, configuration (INCoreConfig) and device management. - Push (
IndigitallPush): Push notification handling, APNs token registration, permission management and notification delivery. - InApp (
IndigitallInApp): In-app message rendering and display lifecycle management. - Inbox (
IndigitallInbox): Notification history retrieval and inbox message management. - Customer (
IndigitallCustomer): Mapping device records to specific user profiles and custom user attributes.
4. Required Apple Capabilities
Enable the following capabilities in your Xcode project target:
- Push Notifications — Required to receive remote push notifications from APNs.
- Background Modes → Remote notifications — Required for silent push processing and background sync.
- Background Modes → Background fetch — Used by the SDK to perform periodic background syncs (configurable via
minimumBackgroundFetchIntervalinINPushConfig).
