1. Bağımlılıklar (Podfile)
1.1 Neden hâlâ bir Podfile gerekiyor?
AKSKit.xcframework/AppsKit.xcframework, pod olarak değil, doğrudan ikili framework olarak bağlanır (§2). Ancak AppsKit.xcframework içindeki derlenmiş Swift modülü, çeşitli üçüncü taraf SDK'lardaki (Firebase, Google Mobile Ads, IronSource, Adjust, AppsFlyer, AppLovin) sembollere başvurur. Çoğunu hiçbir zaman doğrudan çağırmasanız bile, bu SDK'ların CocoaPods aracılığıyla bağımlılık grafiğinizde bulunması gerekir; aksi takdirde derlemenin bağlama (link) aşaması başarısız olur.
1.2 Zorunlu pod'lar (her zaman gerekli)
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
endYukarıdaki sürümler, çalıştığı doğrulanmış bir referans entegrasyonun şu anda kullandığı sürümlerdir (Podfile.lock): Firebase/* 12.15.0, en güncel sürümü takip etmek için sürümü sabitlenmemiş Google-Mobile-Ads-SDK (geçişli bağımlılık olarak GoogleUserMessagingPlatform paketini de getirir), IronSourceSDK 9.1.0.0, Adjust 5.4.6, AppsFlyerFramework/AppsFlyer-AdRevenue 6.14.3, AppLovinSDK 13.5.0. Bunları zorunlu sabit sürümler olarak değil, çalıştığı doğrulanmış bir başlangıç noktası olarak değerlendirin. Uygulamanızın ihtiyaçlarına göre sürümleri yükseltin; ancak AppsKit.xcframework/AKSKit.xcframework için kullanılan derleme hedefiyle uyumlu olması için IPHONEOS_DEPLOYMENT_TARGET değerini 15.0 veya üzerinde tutun.
post_installiçindekiDEBUG_INFORMATION_FORMAT = 'dwarf-with-dsym'satırı, isteğe bağlı kozmetik bir ayar değildir. Bu satır olmadan bu pod'ların bazıları (özellikle AppLovinSDK) dSYM dosyaları üretmez. Bu durum, çökme raporlarının sembolleştirilmesini bozar ve yükleme sırasında App Store Connect'in dSYM doğrulamasının başarısız olmasına neden olabilir.
1.3 MMP SDK'ları
Solar Engine, eklemeniz gereken bir pod değildir — zaten doğrudan AKSKit.xcframework içine derlenmiştir; bu nedenle Podfile dosyanızda bulunmaz ve eklemeniz gerekmez. Buna karşılık AppsFlyer ve Adjust, uygulama tarafında eklenmesi gereken pod'lardır (yukarıdaki §1.2). Bunun nedeni, AppsKit.xcframework içindeki Swift kodunun bu SDK'ların gerçek metotlarını doğrudan çağırmasıdır (IOSBridgeImp.swift içindeki initializeAppsFlyer/initializeAdjust).
1.4 Reklam ağı / reklam arabuluculuğu (mediation) SDK'ları
Referans Podfile yalnızca Google-Mobile-Ads-SDK, IronSourceSDK ve AppLovinSDK ekler; ayrı bir "AdMob mediation adapter" pod'u içermez. AKS portal yapılandırmanız, listelenenlerin dışındaki ağlar için AdMob üzerinden teklifli (bidding) veya şelale (waterfall) reklam arabuluculuğunu etkinleştiriyorsa ilgili ağın kendi CocoaPods adaptörüne (ör. bir GoogleMobileAdsMediation* pod'u) ihtiyaç duyup duymadığını kontrol edin. Bu kılavuz yalnızca referans uygulamada çalıştığı doğrulanmış yapılandırmayı belgelendirir.