1. 의존성 (Podfile)
1.1 Podfile이 여전히 필요한 이유
AKSKit.xcframework/AppsKit.xcframework는 pod가 아닌 바이너리 프레임워크로 직접 링크됩니다(§2). 하지만 AppsKit.xcframework의 컴파일된 Swift 모듈은 여러 서드 파티 SDK(Firebase, Google Mobile Ads, IronSource, Adjust, AppsFlyer, AppLovin)의 심볼을 참조합니다. 대부분을 직접 호출하지 않더라도 CocoaPods를 통해 이러한 SDK를 의존성 그래프에 포함해야 합니다. 그렇지 않으면 빌드 시 링크에 실패합니다.
1.2 필수 pod (항상 필요)
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입니다. 반드시 고정해야 하는 버전이 아니라 정상 동작이 확인된 기준 버전으로 참고하세요. 앱의 요구 사항에 따라 버전을 올려도 되지만, AppsKit.xcframework/AKSKit.xcframework의 빌드 기준에 맞춰 IPHONEOS_DEPLOYMENT_TARGET은 15.0 이상으로 유지해야 합니다.
post_install의DEBUG_INFORMATION_FORMAT = 'dwarf-with-dsym'줄은 단순한 선택적 설정이 아닙니다. 이 설정이 없으면 일부 pod(특히 AppLovinSDK)가 dSYM을 생성하지 않아 크래시 심볼리케이션이 제대로 작동하지 않으며, 업로드 시 App Store Connect의 dSYM 검증에 실패할 수 있습니다.
1.3 MMP SDK
Solar Engine은 직접 추가하는 pod가 아닙니다. 이미 AKSKit.xcframework 자체에 컴파일되어 포함되어 있으므로 Podfile에 표시되지 않으며, 추가할 필요도 없습니다. 반면 AppsFlyer와 Adjust는 앱 측에서 추가해야 하는 pod입니다(위 §1.2 참조). AppsKit.xcframework의 Swift 코드가 실제 SDK 메서드를 직접 호출하기 때문입니다(IOSBridgeImp.swift의 initializeAppsFlyer/initializeAdjust).
1.4 광고 네트워크 / 미디에이션 SDK
참조 Podfile에는 Google-Mobile-Ads-SDK, IronSourceSDK, AppLovinSDK만 추가되어 있으며, 별도의 "AdMob 미디에이션 어댑터" pod는 없습니다. AKS 포털 설정에서 목록에 없는 네트워크에 대해 AdMob을 통한 입찰/워터폴 미디에이션을 활성화했다면, 해당 네트워크에 별도의 CocoaPods 어댑터(예: GoogleMobileAdsMediation* pod)가 필요한지 확인하세요. 이 가이드에서는 참조 앱에서 정상 동작이 확인된 구성만 안내합니다.