Since version 5.1.0, the Mapp Intelligence iOS SDK can be distributed as an Apple XCFramework in addition to CocoaPods and Swift Package Manager. This page describes when to use the XCFramework and how to integrate it manually.
When to use the XCFramework
You integrate the SDK in environments that do not consume CocoaPods or Swift Package Manager directly — for example, React Native, Flutter, or Capacitor plugins that vendor binary frameworks.
Your build setup needs a single binary that bundles multiple architectures (device + simulator, arm64 + x86_64) into one artifact.
You want to avoid pulling source dependencies during the application build.
For most native iOS apps, CocoaPods or Swift Package Manager are simpler. Use the XCFramework only if one of the cases above applies.
Get the XCFramework
The XCFramework is published as part of each release. Download the .xcframework archive from the GitHub Releases page.
Add the XCFramework to your Xcode project
Drag the
MappIntelligence.xcframeworkbundle into your Xcode project navigator.Select your app target.
Open General > Frameworks, Libraries, and Embedded Content.
Confirm the framework is listed and set Embed to Embed & Sign.
Build the target. Xcode automatically picks the matching slice for the current build platform (device or simulator).
Use the SDK
Once embedded, import and initialize the SDK as in any other integration:
import MappIntelligence
MappIntelligence.shared()?.initWithConfiguration(
[123451234512345],
onTrackdomain: "https://your-trackdomain.com"
)#import <MappIntelligence/MappIntelligence.h>
[[MappIntelligence shared]
initWithConfiguration:@[@123451234512345]
onTrackdomain:@"https://your-trackdomain.com"];React Native consumers
The SDK ships a dedicated logger interface (MappIntelligenceLogger.h, since 5.1.0) that React Native bridges can use to forward SDK log output to their JavaScript layer. See the React Native plugin documentation for the integration glue code.
What this step should achieve
The SDK binary is embedded and signed in your app target.
The SDK initializes successfully on both device and simulator builds.
You receive Mapp Intelligence requests in the same way as with CocoaPods or SPM.
Related: Add the SDK Dependency, Requirements & Compatibility.