AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

【Unity】iOSのバイナリアップロードで「ITMS-90809: Deprecated API Usage」(UIWebView)のエラーが出る場合の対処法

【Unity】iOSのバイナリアップロードで「ITMS-90809: Deprecated API Usage」のエラーが出る場合の対処法

先日、Unityで作ったアプリをiOSのAppStoreConnectにアップロードしたら、AppStoreConnectから上記の通知がきて、バイナリが無効になりました。

調べた結果、UIWebView関連のエラーだったようなので、対処法をメモしておきたいと思います。

 

Unityで作ったiOSアプリのバイナリが無効になった

 

それまでは普通にアップロードできていたのですが、先日から急に何度やってもバイナリが無効になる現象が発生しました。心当たりが全くなかったのですが、Appleから以下のメールが届いていることに気付きました。

 

【Unity】iOSのバイナリアップロードで「ITMS-90809: Deprecated API Usage」(UIWebView)のエラーが出る場合の対処法

Dear Developer, We identified one or more issues with a recent delivery for your app, "アプリ名" 0.4 (26). 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

 

 このメール以外にAppleから通知が届いていないので、バイナリが無効になったのは、このエラーが原因だと思われます。

 

UIWebViewが原因っぽい「ITMS-90809: Deprecated API Usage」

 

調べたところ、以下の記事がヒットしました。

qiita.com

qiita.com

そういえば、少し前から同じ内容のメールはきていたのですが、アップロード自体はできていたので、特に気にしていませんでした。

ただ、今回、アップロードができなくなったので、上記の記事にある、

Apple will stop accepting submissions of apps that use UIWebView APIs .
AppleはUIWebView APIを使用するアプリの提出を受け付けなくなります。」

 上記が適用された可能性が高いです。(期日は明言されていなかったっぽいので、最近そうなった模様)

 

通常のネイティブアプリだったら、UIWebViewのコードを削除する等の方法かと思いますが、Unityの場合、勝手にフレームワークに含まれていたりするので厄介そうな予感がします。

 

 

ITMS-90809: Deprecated API Usage(UIWebView)」の対処法(Unity版)

 

さらに調査を進めた結果、以下の記事がヒットしました。

issuetracker.unity3d.com

 

結論をいうと、Unityをアップデートするしかなさそうです。

 

【Unity】iOSのバイナリアップロードで「ITMS-90809: Deprecated API Usage」(UIWebView)のエラーが出る場合の対処法

上記の記事によると、Unityを以下のバージョンにすれば問題が解消されるようです。

・2020.1

・2017.4

・2018.4

・2019.2

・2019.3

僕の使用していたUnityバージョンは「2019.1.0f2」だったので、「2019.3」にアップデートしたところ、無事上記のエラーが出なくなり、バイナリも正常にアップロードできるようになりました。

 

今回は開発中のアプリで発生した問題だったのでそこまで影響はありませんでしたが、だいぶ前に作ったアプリとかだとUnityのバージョンがかなり古かったりするのでビルドエラーが怖いですね...