1. Dependencies (Podfile)
1.1 Why you still need a Podfile
AKSKit.xcframework/AppsKit.xcframework are linked directly as binary frameworks (§2), not as pods — but AppsKit.xcframework's compiled Swift module references symbols from several third-party SDKs (Firebase, Google Mobile Ads, IronSource, Adjust, AppsFlyer, AppLovin). Those have to be present in your dependency graph via CocoaPods or the build won't link, even though you never call most of them directly.
1.2 Required pods (always needed)
source 'https://cdn.cocoapods.org'
platform :ios, '15.0'
target 'YourApp' do
use_frameworks!
# Remote Config drives almost all AKS behavior; Analytics/Crashlytics back AKS events and crash reporting
pod 'Firebase/Analytics', '~> 12.15.0'
pod 'Firebase/Crashlytics', '~> 12.15.0'
pod 'Firebase/RemoteConfig', '~> 12.15.0'
pod 'Google-Mobile-Ads-SDK'
# Required by AppsKit.xcframework's compiled swiftinterface — these are transitive
# dependencies of the AKS facade itself, not direct calls you make.
pod 'IronSourceSDK', '~> 9.1.0.0'
pod 'Adjust', '~> 5.4.6'
pod 'AppsFlyerFramework'
pod 'AppsFlyer-AdRevenue'
pod 'AppLovinSDK'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf-with-dsym'
end
end
endVersions above are what a known-working reference integration currently resolves to (Podfile.lock): Firebase/* 12.15.0, Google-Mobile-Ads-SDK left unpinned to track latest (which pulls in GoogleUserMessagingPlatform transitively), IronSourceSDK 9.1.0.0, Adjust 5.4.6, AppsFlyerFramework/AppsFlyer-AdRevenue 6.14.3, AppLovinSDK 13.5.0. Treat them as a known-working baseline, not a hard pin — bump per your own app's needs, but keep IPHONEOS_DEPLOYMENT_TARGET at 15.0 or higher to match what AppsKit.xcframework/AKSKit.xcframework were built against.
The
post_installDEBUG_INFORMATION_FORMAT = 'dwarf-with-dsym'line isn't optional cosmetics — without it, some of these pods (notably AppLovinSDK) don't produce dSYMs, which breaks crash symbolication and can fail App Store Connect's dSYM validation on upload.
1.3 MMP SDKs
Solar Engine is not a pod you add — it's already compiled into AKSKit.xcframework itself, so you won't find it (and don't need to add it) in your Podfile. AppsFlyer and Adjust, by contrast, are consumer-side pods (§1.2 above) because AppsKit.xcframework's Swift code calls their real SDK methods directly (initializeAppsFlyer/initializeAdjust in IOSBridgeImp.swift).
1.4 Ad network / mediation SDKs
The reference Podfile only adds Google-Mobile-Ads-SDK, IronSourceSDK, and AppLovinSDK — no separate "AdMob mediation adapter" pods. If your AKS portal config enables bidding/waterfall mediation through AdMob for networks beyond what's listed, check whether that network needs its own CocoaPods adapter (e.g. a GoogleMobileAdsMediation* pod) — this guide can only document what's confirmed working in the reference app.