Initial SDK Setup


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 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 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 minimumBackgroundFetchInterval in INPushConfig).