ITMS-90809: Deprecated API Usage (UIWebView APIを使用したアプリアップデート) 対策でGoogle-Mobile-Ads-SDKを更新

  • このエントリーをはてなブックマークに追加

iOSアプリにちょっと修正を加えてアップロードしたら、こんなメッセージを受けました。

最新の配信で、1つ以上の問題が確認されました。配信は成功しましたが、次の配信では以下の問題を修正してください。ITMS-90809: Deprecated API Usage – Appleは2020年12月以降、UIWebView APIを使用したアプリアップデートの投稿を受け付けなくなります。詳細は https://developer.apple.com/documentation/uikit/uiwebview を参照してください。問題を修正したら、新しいバイナリをApp Store Connectにアップロードしてください。よろしくお願いします。App Store チーム

UIWebViewを利用していると表示されるのですが、アプリ本体はwkWebviewにしばらく前から移行してるので、何かのライブラリが原因のようです。

プロジェクトのディレクトリでfindしてみたらadmobのライブラリのようです。

Binary file ./Pods/Google-Mobile-Ads-SDK/Frameworks/frameworks/GoogleMobileAds.framework/GoogleMobileAds matches

admobのリリースノートにも、2020‑02‑28(7.56.0)で対応されてます。

https://developers.google.com/admob/ios/rel-notes

Warning: Calling this method may negatively impact your Google mediation performance. This method should only be called if you include Google mediation adapters in your app, but you won’t use mediate through Google during a particular app session (for example, you are running an A/B mediation test).

cocoapod経由でアップデートします。

pod update Google-Mobile-Ads-SDK
Updating local specs repositories

CocoaPods 1.8.4 is available.
To update use: `sudo gem install cocoapods`

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.8.4

Analyzing dependencies
Downloading dependencies
Installing Google-Mobile-Ads-SDK 7.57.0 (was 7.25.0)
Installing GoogleAppMeasurement (6.1.2)
Installing GoogleUtilities (6.5.2)
Generating Pods project
Integrating client project
Pod installation complete! There are 3 dependencies from the Podfile and 11 total pods installed.

アップデートしたところ、admob関連でアプリが落ちるので、調べてみると

*** Terminating app due to uncaught exception 'GADInvalidInitializationException', reason: 'The Google Mobile Ads SDK was initialized without an application ID. Google AdMob publishers, follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist to set GADApplicationIdentifier with a valid app ID. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010a7f81ab __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x0000000109e8df41 objc_exception_throw + 48
	2   CoreFoundation                      0x000000010a7f80f9 -[NSException raise] + 9
	3   myapp02                      0x0000000104cffabb GADApplicationVerifyPublisherInitializedAnalyticsCorrectly + 414
	4   myapp02                      0x0000000104cb05d6 GADEnvironmentIsSupported + 1020
	5   libdispatch.dylib                   0x000000010da893f7 _dispatch_call_block_and_release + 12
	6   libdispatch.dylib                   0x000000010da8a43c _dispatch_client_callout + 8
	7   libdispatch.dylib                   0x000000010da8f352 _dispatch_queue_override_invoke + 1458
	8   libdispatch.dylib                   0x000000010da961f9 _dispatch_root_queue_drain + 772
	9   libdispatch.dylib                   0x000000010da95e97 _dispatch_worker_thread3 + 132
	10  libsystem_pthread.dylib             0x000000010df529f7 _pthread_wqthread + 220
	11  libsystem_pthread.dylib             0x000000010df51b77 start_wqthread + 15
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Google Ad Managerで配信している場合に必要な設定が増えているようです。

info.plistにGADIsAdManagerAppのキーを作成して、YESを設定

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。