🎉
AdMobをSwift Package Managerで導入する方法
これまでSwiftでAdMobを導入する際は、CocoaPods or 手動のどちらかしか方法がなかったのですが、Swift Package Manager(以下、SPM)が使えるようになったので導入手順をメモしておきます。
CocoaPods→SPMに移行する場合
すでにCocoaPodsを使ってAdMobを導入しており、AdMobのためだけにCocoaPodsを使用している場合、XcodeプロジェクトからCocoaPodsを削除します。新規でAdMobを導入する場合、この手順はスキップしてください。
# XcodeプロジェクトからCocoaPodsを削除する
$ pod deintegrate
# 以下ファイルは残るので、個別に削除する
$ rm Podfile Podfile.lock xxx.xcworkspace
SPMのAdMobを導入する
Xcodeで File > Add Packages... を開き、以下URLで検索し、AdMobのパッケージをダウンロードします。バージョンは、新しいプロジェクトの場合 [Up to Next Major Version] がおすすめのようです。
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
あとはこれまで通りの手順でAdMobが導入できるので、手順割愛します。
公式の手順は以上なのですが、この状態でアプリを起動すると以下のようなエラーが発生します。
Thread 4: "The Google Mobile Ads SDK was initialized without AppMeasurement. Google AdMob publishers, follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist to include the AppMeasurement framework and set the -ObjC linker flag. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist"
これを回避するために、プロジェクトの [Build Settings] の、 [Other Linker Flags] に-ObjC
リンカーフラグを追加すると解決しました。
Discussion