はじめに
今回は、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 install | SDKの統合と.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で開いたら:
- ターゲットが Unity-iPhone になっていることを確認
- 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連携は完璧です!