Skip to main content

Requirements

Minimum Requirements
  • Xcode 12.0 or later
  • iOS 14.0 or higher
  • Swift 5.0+ or Objective-C
  • CocoaPods 1.10+ or Swift Package Manager

Installation Methods

Xcode 15+ Configuration

Important for Xcode 15+ UsersIf using CocoaPods with Xcode 15 or later, you must disable User Script Sandboxing:
  1. Select your project in Xcode
  2. Select your app target
  3. Go to Build Settings
  4. Search for “User Script Sandboxing”
  5. Set ENABLE_USER_SCRIPT_SANDBOXING to No
This is required for CocoaPods to properly embed dynamic frameworks. This is a standard requirement for all iOS SDKs that use dynamic frameworks (including AppLovin SDK, Firebase, Google Mobile Ads, etc.).

Update Info.plist

Add required keys to your Info.plist:
Info.plist
<!-- App Tracking Transparency (Required for iOS 14+) -->
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

<!-- CloudX App Key -->
<key>GADApplicationIdentifier</key>
<string>YOUR_APP_KEY</string>

<!-- SKAdNetwork IDs -->
<key>SKAdNetworkItems</key>
<array>
    <!-- Meta/Facebook -->
    <dict>
        <key>SKAdNetworkIdentifier</key>
        <string>v9wttpbfk9.skadnetwork</string>
    </dict>
    <dict>
        <key>SKAdNetworkIdentifier</key>
        <string>n38lu8286q.skadnetwork</string>
    </dict>
    <!-- Add more SKAdNetwork IDs as needed -->
</array>
Replace YOUR_APP_KEY with your actual App Key from CloudX dashboard

App Tracking Transparency

Request tracking permission (iOS 14+):
import AppTrackingTransparency
import AdSupport

func requestTrackingPermission() {
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization { status in
            switch status {
            case .authorized:
                print("Tracking authorized")
            case .denied:
                print("Tracking denied")
            case .restricted:
                print("Tracking restricted")
            case .notDetermined:
                print("Tracking not determined")
            @unknown default:
                break
            }
        }
    }
}
CocoaPods handles this automatically, but for manual integration:
  • Foundation
  • UIKit
  • WebKit
  • SafariServices
  • CoreData
  • AVFoundation
  • CoreMedia
  • AudioToolbox
  • CoreTelephony
  • SystemConfiguration
  • StoreKit

Verify Installation

Build your project to verify the SDK is properly installed:
xcodebuild -workspace YourApp.xcworkspace -scheme YourApp -configuration Debug
If the build succeeds, you’re ready to initialize the SDK!

Next Steps

Quickstart Guide

Learn how to initialize the SDK and load your first ad