Apps Kit SDK logoApps Kit SDK
Документация · Интеграция с iOS

1. Зависимости (Podfile)

1.1 Зачем всё ещё нужен Podfile

AKSKit.xcframework/AppsKit.xcframework подключаются напрямую как бинарные фреймворки (§2), а не как pod-зависимости. Однако скомпилированный модуль Swift в AppsKit.xcframework ссылается на символы из нескольких сторонних SDK (Firebase, Google Mobile Ads, IronSource, Adjust, AppsFlyer, AppLovin). Эти SDK должны присутствовать в графе зависимостей через CocoaPods, иначе сборка завершится ошибкой линковки, даже если вы не вызываете большинство из них напрямую.

1.2 Обязательные pod-зависимости (нужны всегда)

ruby
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
end

В проверенной рабочей интеграции на данный момент используются следующие версии зависимостей (Podfile.lock): Firebase/* 12.15.0, Google-Mobile-Ads-SDK без фиксации версии для получения последней доступной (транзитивно подключает GoogleUserMessagingPlatform), IronSourceSDK 9.1.0.0, Adjust 5.4.6, AppsFlyerFramework/AppsFlyer-AdRevenue 6.14.3, AppLovinSDK 13.5.0. Рассматривайте их как проверенную отправную точку, а не как жёстко зафиксированные требования — обновляйте версии с учётом потребностей своего приложения, но сохраняйте IPHONEOS_DEPLOYMENT_TARGET на уровне 15.0 или выше, чтобы он соответствовал минимальной версии iOS, для которой собраны AppsKit.xcframework/AKSKit.xcframework.

Строка DEBUG_INFORMATION_FORMAT = 'dwarf-with-dsym' в post_install — не просто необязательная настройка: без неё некоторые из этих pod-зависимостей (в частности, AppLovinSDK) не генерируют файлы dSYM. Это нарушает символикацию отчётов о сбоях и может привести к ошибке проверки dSYM при загрузке в App Store Connect.

1.3 SDK платформ мобильной атрибуции (MMP)

Solar Engine не нужно добавлять как pod-зависимость — он уже скомпилирован в составе самого AKSKit.xcframework, поэтому вы не найдёте его в Podfile и добавлять его туда не нужно. AppsFlyer и Adjust, напротив, нужно подключать как pod-зависимости на стороне приложения (§1.2 выше), поскольку Swift-код в AppsKit.xcframework напрямую вызывает методы этих SDK (initializeAppsFlyer/initializeAdjust в IOSBridgeImp.swift).

1.4 SDK рекламных сетей и медиации

В эталонном Podfile добавлены только Google-Mobile-Ads-SDK, IronSourceSDK и AppLovinSDK — без отдельных pod-зависимостей для адаптеров медиации AdMob. Если в конфигурации на портале AKS включена медиация через AdMob с использованием биддинга или waterfall для сетей, не перечисленных выше, проверьте, нужен ли такой сети собственный адаптер CocoaPods (например, pod-зависимость GoogleMobileAdsMediation*). В этом руководстве описаны только те варианты, работоспособность которых подтверждена в эталонном приложении.