長くなるので最初に問題の概要と解決を書きます。
問題1.アプリをAppStoreにアップロードしたらAppleからITMS-90809:WebViewやめろメールが来た。
解決法:
https://issuetracker.unity3d.com/issues/ios-apple-throws-deprecated-api-usage-warning-for-using-uiwebview-when-submitting-builds-to-the-app-store-connect
↑ここにこの問題を修正したバージョンが載ってるのでそのバージョンにUnityをアップデートする。
私の場合2018.4.16f1 を使うといけた
問題2.Unityをアップデートしてビルドしたらテスト広告は表示されるのに本番IDの広告がiPhoneで表示されない。と思ったらiPadでは表示される。なにコレ?
解決策:スマートバナーを使ったら表示された
BannerView bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);
問題3.Xcodeでビルドしたら
GADUNativeExpressAd.m cannot be found
解決策:
Assets/Plugins/iOS/GADUNativeExpressAd.h
Assets/Plugins/iOS/GADUNativeExpressAd.m
Xcodeでこいつらを削除。
問題4.↑上の問題を解決してビルドしたら今度は
library not found for lgoogleutilities
解決策:Unityでビルドして出来たファイルで
hogeApp.xcodeproj じゃなくて
hogeApp.xcworkspace の方を開く
問題5.↑上の問題を解決してビルドしたら今度は
80 duplicate symbols for archtecture arm6
解決策:
a.最新Google Mobile Ads Unity Pluginをダウンロード
b.AssetのGoogleMobileAdsとPlayServicesResolverとPluginsフォルダをUnityから削除。
c.最新のやつをインポートしてビルド
d.ビルドするときreplaceかappendか聞かれるとreplaceで一旦置き換える。この時最初はDestinationがなんたらでエラー出るけど2回目は出なかった
e.出来たhogeApp.xcworkspaceを開いてxcode起動。その時duplicate symbolsのエラーが出てるけどビルドしたら消える。
f.最新Google Mobile Ads SDKをダウンロードしてxcodeのフレームワークに追加。最新のAdsSDKには4つフレームワークあるけど入れるのはGoogleMobileAds.Frameworkだけで他の訳分からんの入れたらビルド時にduplicate symbolsのエラー。
問題6.xcworkspaceからプロジェクト開くと証明書関連がなんかおかしくなる
解決策:
debug---Apple Development
Any iOS SDK---iOSDeveloper
Release---Apple Distribution
Any iOS SDK---iOSDeveloper
ReleaseForProfiling---Apple Distribution
Any iOS SDK---iOSDeveloper
ReleaseForRunning---Apple Distribution
Any iOS SDK---iOSDeveloper
この設定にしたらいけた
問題7.ArchiveのあとValidateしようとしたら
appstore connect operation error
一旦戻ってもう一回やろうとしたら
no app store connect account
解決策:Macを再起動
今回のITMS-90809の問題はたくさんエラーが出て迷走したけどやることは問題1と2だけで良かった。つまりUnityアップデートしてAdMobはスマートバナーを使う。これだけで良かったぽい。
なんで迷走したのかといえばアップデートしてビルドしてもiPhoneで本番広告が表示されなかったからで、ああ最新のバージョンは最新のAdsSDKやら全部最新の入れないとダメなのねと思ってしまいPluginとか全部再インポートしたらxcodeが激おこエラーの嵐。
最終的には無事アップロードできたので良かったけどもうほんま疲れた~^^;