Apps Kit SDK logoApps Kit SDK
ドキュメント · iOS への組み込み

1. 依存関係(Podfile)

1.1 Podfile が必要な理由

AKSKit.xcframework/AppsKit.xcframework は pod としてではなく、バイナリフレームワークとして直接リンクします(§2)。ただし、AppsKit.xcframework のコンパイル済み Swift モジュールは、複数のサードパーティ SDK(Firebase、Google Mobile Ads、IronSource、Adjust、AppsFlyer、AppLovin)のシンボルを参照しています。その大半をアプリから直接呼び出さなくても、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 です。これらは厳密に固定すべきバージョンではなく、動作確認済みの基準として扱ってください。アプリの要件に応じてバージョンを上げてもかまいませんが、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)が必要かどうかを確認してください。このガイドでは、リファレンスアプリで動作確認できている内容のみを説明しています。