CordovaがiOSで使えなくなる!?AppleがUIWebView をなくすことについて
1
2019年8月ごろから、cordovaで作成したアプリをアップロード すると不吉なメールが届きます.
ITMS-90809:廃止されたAPIの使用-AppleはUIWebView APIを使用するアプリの提出を受け付けなくなります。詳細については、https://developer.apple.com/documentation/uikit/uiwebviewを参照してください。
ITMS-90809: Deprecated API Usage – Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.
先日(2020年2月)にこのアプリをiOSに出したときもこのメッセージを受け取ってしまいました。
2020年3月の情報によるとUIwebviewを使ったアプリの受付は、
新規アプリ受付→2020年4月まで
既存のアプリ更新→2020年12月まで
とのことです。
詳しく公式のサイトを見ると、「class UIWebView : UIView」という宣言がだめなようです。なので今後はWKWebViewをつかうことになります。WKWebViewはUIWebViewの問題を解決するためにAppleが作ったWebViewです。UIWebViewよりクラッシュ率が低く、高速で、加えてセキュリティも高くなっているのでセキュリティを重視するAppleとしては他社に先駆けてWKWebViewへ移行するわけです。おそらく近いうちにGoogleも追随するのではないかと考えます。
Cordovaのコミュニティが対策を進めてくれているようですので、簡単にまとめます。
こちらはCordovaを管理してくれているMatt Netkowさんのページ。こちらに最新の情報が記載されています。さて、あらためてこの件についてなんといっているかについて。
Update 01/15/2020: On December 23rd, 2019, Apple clarified plans for UIWebView: “The App Store will no longer accept new apps using UIWebView as of April 2020 and app updates using UIWebView as of December 2020.” Please follow the instructions below to either update to a newer version of Cordova or migrate to Capacitor.
更新01/15/2020:2019年12月23日、AppleはUIWebViewの計画を明確にしました:「App Storeは、2020年4月の時点でUIWebViewを使用する新しいアプリおよび2020年12月の時点でUIWebViewを使用するアプリの更新を受け付けなくなります。」以下の指示に従って、Cordovaの新しいバージョンに更新するか、Capacitorに移行してください。
だいぶ前に周知してくれていたようです。結論としては、Capacitorに移行するか、新しいCordovaにアップデートすればよいようです。CordovaがコンパイルのときにUIWebviewを使わないようにCordova5.1.0から行うようです。
以前はIonicなどのはなしも記載されていたようで下記のような表をまとめたりしたのですが、
Cordova | 草分けであり、もっともメジャーなプロジェクト |
---|---|
Ionic | Cordovaにangularを組み込むことで、UIの作業性を改善したものです。Cordovaという大きな円を書くと、Ionicはそのなかにあるイメージ。 |
Capaciter | Ionicのコンセプトをより推し進めた次世代のプロジェクト。将来的にはCordovaの次世代を担うとされていて、Ionicのメンバーもそう言っている。とはいえまだ出たばかりで洗練されてないところがある。でも使える。 |
最新のCapacitorを選ぶもよし、一方でCordova5.1.0にすればいいということで安心しました。Capacitorを使う方法は別に調べる人は調べると思うので、今回は最後にCordovaでなんとかしたい人向けに上記Webページの該当部分を訳して置いておきます。

WKWebViewプラグインがインストールされていることを確認してください:公式のApacheまたはIonicのいずれか。すべてのIonicスターターアプリには、cordova-plugin-ionic-webviewが自動的に含まれます。 <preference name = "WKWebViewOnly" value = "true" />をconfig.xmlファイルに追加します。 各Cordovaプラグインを最新バージョンに更新します(これらも警告をトリガーできます)。いっそのこと-不要になったら削除してください! cordova prepare iosを実行して、変更を適用します。
わたしが作ったアプリはこちらです。写真からテキストを抽出するOCRソフトです。よかったらインストールしてみてください。
https://play.google.com/store/apps/details?id=com.rainbowsv2.ocr