IT

CordovaがiOSで使えなくなる!?AppleがUIWebView をなくすことについて

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年2月の情報によるとUIwebviewを使ったアプリの受付は、


新規アプリ受付→2020年4月まで
既存のアプリ更新→2020年12月まで

とのことです。

詳しく公式のサイトを見ると、「class UIWebView : UIView」という宣言がだめなようです。なので今後はWKWebViewをつかうことになります。WKWebViewはUIWebViewの問題を解決するためにAppleが作ったWebViewです。UIWebViewよりクラッシュ率が低く、高速で、加えてセキュリティも高くなっているので、セキュリティを重視するAppleとしては他社に先駆けてWKWebViewへ移行するわけです。おそらく近いうちにGoogleも追随するのではないかと考えます。

Cordovaのコミュニティが対策を進めてくれているようですので、簡単にまとめます。

こちらはCordovaを管理してくれているMatt Netkowさんのページ。こちらに最新の情報が記載されています。さて、あらためてこの件についてなんといっているかについて。

A WebView is an embeddable web browser that native applications can use to display web content.Apple previously announced UIWebView’s deprecation in June 2018.This recent notification has brought it to the forefront.

Appleは以前、2018年6月にUIWebViewの廃止を発表しました。先の通知はこれをあらためて周知するものです

https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/

だいぶ前に周知してくれていたのですね。

コミュニティは当然これを認知していて、対策をしてくれているようです。Cordovaベースのプロジェクトは大きく3つがあり、それぞれで並行して対策を進めている模様。結論をいうと、CordovaとIonicはまだ対策中。どの程度の時間が残されているかコミュニティとしてアップルに問い合わせている途中だが、回答はない(したがってどの対策をとるか判断しかねている?)。Capaciterであればすでに対策済みです。

といってもその3つはなんぞやという話もありますし、自分の理解も怪しいのでまとめました。

Cordova 草分けであり、もっともメジャーなプロジェクト
Ionic Cordovaにangularを組み込むことで、UIの作業性を改善したものです。Cordovaという大きな円を書くと、Ionicはそのなかにあるイメージ。
Capaciter Ionicのコンセプトをより推し進めた次世代のプロジェクト。将来的にはCordovaの次世代を担うとされていて、Ionicのメンバーもそう言っている。とはいえまだ出たばかりで洗練されてないところがある。でも使える。

というわけで、結論からいうとCapaciterに移行できるなら順次していったほうがよさそうです。

以上が結論なのですが、一応下記にそれぞれのチームのコメント紹介しておきます。2019年10月の時点では下記のように記載されています。

Ionic
Appleに、UIWebView APIを含むアプリの提出の受け付けを停止する正式な日付をAppleに求めましたが、まだ返事はありません。詳細がわかり次第、このブログを更新します。

Cordova
Cordovaチームは、前進する計画について積極的に議論しています。ユーザーに深刻な影響を与えることなく前進する最善の方法を計画しているため、これには時間がかかります。
Cordovaは根幹部分でありますし、Darryl Pogueさんを中心に対策を議論していただいているようです。個人的には、しっかりと議論して問題なく使えるとは考えております。
https://github.com/apache/cordova-discuss/pull/110

Capaciter
とはいえ、Cordovaの次のプロジェクトであるCapaciterが本命かもしれません。Capaciterは、CordovaをベースとしたIonicをさらに改善するもので、クロスプラットフォーム性をさらに高めるプロジェクトです。まだプラグインなどの数は少ないようですが、Corodvaのプラグインを使えるとのことで、かなり期待できます。

とはいえ、すでに決まっていることですし、またAppleのことだと急に打ち切りそうなので、Capaciterに乗り換えは順次進めたほうがよさそうですね。

わたしが作ったアプリはこちらです。写真からテキストを抽出するOCRソフトです。よかったらインストールしてみてください。

https://play.google.com/store/apps/details?id=com.rainbowsv2.ocr

https://apps.apple.com/us/app/awesome-ocr-text-scanner/id1497498494?l=ja&ls=1

ABOUT ME
Faust
1980年代生まれで東京都府中市育ち。大学は物理化学専攻してメーカへ。 Engineer of Python, Angular. Analyzing data and building app at Awesome Rainbows LCC. #SDGs #Python

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です