Unity × iOSビルド完全対応!CocoaPods導入とAdMob連携方法

技術ノウハウ

はじめに

今回は、Unityで作ったiOSゲームにAdMob(Google Mobile Ads SDK)を導入する方法を、解説します。

「iOS Resolverでエラーが出てCocoaPodsが入らない…」

「Framework ‘GoogleMobileAds’ not found と表示される…」

そんな方でも、この記事の通りに進めれば確実にビルドが通ります!

手順の全体像

ステップ内容目的
Rubyを3.1以上に更新CocoaPodsの動作環境を整える
CocoaPodsを手動でインストールUnity標準機能より安定
UnityでiOSビルドを出力Xcodeプロジェクト生成
Podfile編集 & pod installSDKの統合と.xcworkspace生成
Xcodeでビルド実行AdMobが動作する状態にする

① Rubyのバージョンを更新

macOSの標準Rubyは古いため、rbenvで新しいバージョンを導入します。
  ※ターミナルで ruby -v と入力しrubyのバージョンが3.1以上なら問題ないです。

ターミナルで以下を順に実行

brew install rbenv ruby-build
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc
source ~/.zshrc
rbenv install 3.2.2
rbenv global 3.2.2
ruby -v   # => ruby 3.2.2 と表示されればOK

② CocoaPodsのインストール

CocoaPodsをインストールします:

gem install cocoapods
pod --version

③ UnityでiOSビルドを出力

Unityメニューから:

File → Build Settings → iOS → Build

でUnityのプロジェクトをビルドします。

保存先は私のゲームの場合以下のようにしました。

/Users/◯◯◯/One Step A Day/Build/Build_ios

出力後、このフォルダ内に Unity-iPhone.xcodeproj が生成されます。

④ Podfileを確認・編集

出力フォルダ内の Podfile を確認。

Google Mobile Ads SDKを使う場合、以下のように設定します👇

source 'https://github.com/CocoaPods/Specs'
source 'https://cdn.cocoapods.org/'

platform :ios, '13.0'
use_frameworks! :linkage => :static

target 'UnityFramework' do
  pod 'Google-Mobile-Ads-SDK', '~> 12.9.0'
  pod 'GoogleUserMessagingPlatform', '3.0.0'
end

target 'Unity-iPhone' do
end

⑤ Podのインストール

ターミナルでビルドフォルダに移動してコマンドを実行

cd "/Users/◯◯◯/One Step A Day/Build/Build_ios"

pod deintegrate
rm -rf Pods Podfile.lock
pod repo update
pod install --repo-update

成功するとこのような出力が出ます:

Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.

そしてフォルダに .xcworkspace が生成されます

Build3_ios/
├── Unity-iPhone.xcworkspace    新しく追加
├── Pods/
├── Podfile
└── Podfile.lock

⑥ .xcworkspaceを開いてビルド

⚠️ .xcodeproj ではなく .xcworkspace を開く!

Xcodeで開いたら:

  1. ターゲットが Unity-iPhone になっていることを確認
  2. Product → Build(⌘ + B)

⑦ よくあるエラーと解決法

❌ Framework ‘GoogleMobileAds’ not found

原因:Pods/Google-Mobile-Ads-SDK/Frameworks が空

解決法:ターミナルで以下を入力

pod cache clean --all
pod install --repo-update

再度確認

Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework/
└── GoogleMobileAds.framework

存在すればOK。

⑧ UnityFrameworkの検索パス設定(必要な場合)

Xcode左メニューから:

UnityFramework → Build Settings → Framework Search Paths

以下を追加

$(inherited)
$(PROJECT_DIR)/Pods/Google-Mobile-Ads-SDK/Frameworks

最終チェック

項目状況
.xcworkspace で開いている
Pods フォルダに GoogleMobileAds.framework がある
Build target が Unity-iPhone
Clean Build Folder 後にビルド成功

成功状態

最終フォルダ構成:

Build3_ios/
├── Unity-iPhone.xcworkspace   ✅
├── Unity-iPhone.xcodeproj
├── Podfile
├── Podfile.lock
└── Pods/
     └── Google-Mobile-Ads-SDK/
         └── Frameworks/
             └── GoogleMobileAds.framework

Xcodeでビルド完了&広告SDKが読み込まれたら完了です

まとめ

  • UnityのiOS Resolverではなく、rbenv + 手動pod installが安定。
  • .xcworkspace を必ず使う。
  • GoogleMobileAds.framework が存在することを確認。

これでUnity × iOS × AdMob連携は完璧です!

タイトルとURLをコピーしました