Ideal Reality

パソコンのある生活を良くするためのサイト

2019年3月21日 4時13分

‘configure(withApplicationID:)’ is deprecatedと言われた

ふと思い立ってpod updateを打ったら、AdMobのAPI仕様が変わっててこんなWarningが出るようになった。

そして、これを実行するとクラッシュする。

スタートガイド  |  iOS  |  Google Developers

ここにはconfigureWithApplicationIDがdeprecatedになったことや、startWithCompletionHandlerについて一つも書いてない(2019/3/21現在)

けど、なんかInfo.plistにAdMob App IDを記述した方がいいって書いてあるし、アプリがクラッシュした時のエラーログにも

‘The Google Mobile Ads SDK was initialized incorrectly. Google AdMob publishers should follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist

とか書いてあって、このリンクを踏むとスタートガイドの”Info.plistの更新”ってところに飛ぶので、これをしろということなのだろう。

Info.plistの更新

今まで、configureWithApplicationIDメソッドの引数に渡していたAdMob App IDを、Info.plistに記載することが必要になった。

こんな感じでGADApplicationIdentifierキーを追加し、そこにAdMob App IDを入れてやればOK

configureメソッドをstartメソッドに変える

今まで

GADMobileAds.configure(withApplicationID: "ca-app-pub-3940256099942544~1458002511")

みたいに書いていた場所を

GADMobileAds.sharedInstance().start()

こうしてやりましょう。Info.plistにApplication IDが移動したので、引数は何も取らなくなります。

まとめ

これだけであとは今まで通り使えるはずです。

そこまで手間じゃないですね。

ただ、僕の場合Debugビルドの場合はテストID、Releaseビルドの場合は本番用IDと切り替えて使ってました。(毎回自分の端末のIDを入れるのが面倒なため)

今までswiftのソースコード上で#if, #else, #endifを使うことで簡単に分岐ができたんですが、今回Application IDがInfo.plistに記載されることになってこれが使えなくなりました。

Preprocess Info.plist fileという仕組みが使えそうなのですが、なんかまた面倒になりそうな予感。

嫌だな〜・・・

コメント

投稿されたコメントはありません

名前

コメント

関連する投稿

SwiftのDecimal(string:)がどれだけ使えるか試してみた

[iOS, Swift]で画面回転時のアニメーションを無効化する