iOS13よりUIWebViewを使用したアプリが「ITMS-90809: Deprecated API Usage」でリジェクトになるので対処してみた

iOS13よりUIWebViewを使用したアプリをAppConnectにアップロードすると「ITMS-90809: Deprecated API Usage」という理由でリジェクトされるようになりました。

Dear Developer,

We identified one or more issues with a recent delivery for your app, "JINS MEME RUN2" 4.0.0 (160). Please correct the following issues, then upload again.

ITMS-90809: Deprecated API Usage

New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (
https://developer.apple.com/documentation/uikit/uiwebview).

Best regards,

The App Store Team

アップロードはできるものの、上記のようなメールが届き、アプリのビルドステータスが「バイナリが無効」に変更されてしまいます。

もしこのようなリジェクトが起きた場合は以下のような対処をしてみてください。

対処方法1.UIWebViewをWKWebKitに置き換える

独自開発しているプログラムの中にUIWebViewを使用してる物があればWKwebKitに置き換えましょう。

StoryBoardで使用してるUIWebViewも例外ではありません。

UIWebViewを使用している箇所はすべてWKwebKitに置き換えましょう。

対処方法2.ライブラリでUIWebViewを使用している場合

CocoapodsやCarthageなどを利用して追加しているライブラリがUIWebViewを使用している場合もリジェクトの対象となっています。

UIWebViewを利用しないようにライブラリが更新されている場合はライブラリの更新で対処可能です。

もしライブラリが更新されておらず、UIWebViewを使用したままの場合は、ライブラリを自身で修正するかUIWebViewを使用していないライブラリを探し直すしかありません。

ちなみに私の場合は「AFNetworking3.0」がUIWebViewを使用していたためリジェクトされていました。

幸い、AFNetworkingは4.0でUIWebViewを使用しないように修正、更新がされています。

Podfileを

pod 'AFNetworking', '~> 4.0'

このように修正し

pod update

で更新すば問題は解決します。