UnityAdmobSDK6.0でxcodeビルドした際に「"_GADURequestInterstitial", referenced from: _Externs_GADURequestInterstitial_m7354DBBE6F0E4C60EFEE0EC733AAEC22D91E2B0C in GoogleMobileAds.iOS.o」」


環境

  • Unity2019 2.12f1
  • MacOS 11.4 Big Sur
  • Xcode 12.5.1

事象

Unity2019 2.12f1 + Unity Admob SDK 6.0でiOSビルドしたアプリが、
下記"_GADURequestInterstitial", referenced from:というエラーでxcode上でビルドできなくなった。

Undefined symbols for architecture armv7:
  "_GADURequestInterstitial", referenced from:
      _Externs_GADURequestInterstitial_m7354DBBE6F0E4C60EFEE0EC733AAEC22D91E2B0C in GoogleMobileAds.iOS.o
     (maybe you meant: _Externs_GADURequestInterstitial_m7354DBBE6F0E4C60EFEE0EC733AAEC22D91E2B0C)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

https://develop.hateblo.jp/entry/admob-6-0-0-error
https://github.com/googleads/googleads-mobile-unity/issues/1616

上記サイト様を参考に、

Xcode上で、Classes/Native/GoogleMobileAds.iOS.cpp

GoogleMobileAds.iOS.cpp
reinterpret_cast<PInvokeFunc>(GADURequestInterstitial)(___interstitial0, ___request1);

上記部分をコメントアウトすると無事ビルドが通りました。。

ちょっと力技な感じがしますが、一応僕が触っているアプリでは、iPhone実機でadmob広告問題なく動いていました。