ITMS-90809の対処方法
App Store Connect にアップロードした際にITMS-90809というコードがメールで返ってくることがあります。以前はこのコードが返ってきていてもアップロードは成功していましたが、2020年5月頃からアップロードができなくなりました。この問題に自分のアプリが直面した際に実施した対処方法をここにまとめておきたいと思います。
結論
以下の2ステップだけです。
さあ、君もITMS-90809から解放されたまえよ……
1.Xcodeプロジェクト全体を「UIWebView」でバイナリGREPして使用しているライブラリを見つける
2.該当のライブラリを最新版にする(※1)か取り除く(※2)
※1 ライブラリがアップデートでUIWebViewを取り除いたバージョンを提供している場合。ライブラリによってはビルド時にWebKit.frameworkの追加が必要になる場合あり
※2 ライブラリを使用していなくてもキャッシュに残っているケースもあるようです。使用していないライブラリが引っかかった場合はキャッシュフォルダ(Library\PackageCache)を確認して削除してください
ITMS-90809とは
そもそもITMS-90809とはどういう問題なのか、というとApp Store Connect からの返信メールにも書かれている通り非推奨のUIWebViewが使用されているという問題です。
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).
UIWebView使用箇所を見つける
自分のコードの中にUIWebViewが使用されている箇所があればそこをWKWebViewに置き換えれば解決しますが、多くのケースでは導入しているライブラリにUIWebViewが使用されていて、どこに使用されているか分からないという場合がほとんどだと思います。
ライブラリに使用されている場合、「UIWebView」でXcodeプロジェクト全体を検索しても多くのケースでは発見できません。バイナリGREPを使用しましょう。バイナリGREPできるツールはいろいろありますが私が使用したのはこのツールです。
FavBinEdit
4GBを超えるファイルも編集可能なバイナリエディタ。
私のケースでの対処
私の場合、バイナリGREPで引っかかったのはUnityAdsでした。UnityAdsのバージョンを最新版の3.4.5(2020/5/12時点)にあげるとITMS-90809は出なくなり無事にアップロードすることができました。
バージョン3.3.0でUIWebViewは削除されたようなので、これ以前のバージョンを利用している方はこのケースに該当するかと思います。UnityAdsのバージョンを確かめてみてください。
この問題についてのUnityフォーラム
Ads SDK 3.3.0 removed all references to UIWebview:
※一番下のUnity Technologiesの方の回答より
他のケースでの対処
どのライブラリが対象かによって対処方法は変わりますが、大抵のケースでは最新版へのアップデートか使用していないなら削除するかのどちらかになるかと思います。最新版へのアップデートでも解決しない場合は(可能なら)別のライブラリに置き換えるかそのライブラリを使用している箇所を削除するしかありません。
また、他のアプリ開発者様も同じ問題で苦しんだようでITMS-90809で検索するとたくさん引っかかりました。自分の問題の解決には至りませんでしたが、こちらの方が参考になる方もいるかと思いますのでここにまとめておきたいと思います。
【Unity】iOSのバイナリアップロードで「ITMS-90809: Deprecated API Usage」(UIWebView)のエラーが出る場合の対処法
テクノモンキーのアプリ開発日記
・Unityが下記バージョン以前の場合
2017.4.0f1、2018.4.0f1、2018.4.2f1、2019.2.0a1、2019.3.0a1、2020.1.0a1
NCMB の SDK をアップデートして WKWebivew へ変更する
Yutaka Kinjo
・NCMBが4.0.4以前の場合
おわり
以上です。一人でも多くの開発者がITMS-90809から解放されますように。
この記事が気に入ったらサポートをしてみませんか?