未分類

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.

WebViewを埋め込むことで、cordovaはハイブリッド性を実現しているはず、、。
え!?それじゃ、今後Cordovaでアプリ制作ができなるということ!?

もはやアプリの数十パーセントを占めると言われるハイブリッドアプリ。それを根底から覆すような決定をアップルがすることに理解が及ばないのですが、Cordovaのコミュニティは対策を進めてくれているようですので、簡単にまとめます。

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

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

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

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.

そうか、そんなことが起きていたのか、、
全体の数十パーセントを占めると言われるハイブリッドアプリ。そのうち、Cordova,Ionicベースのアプリが対策をしないと今後使えなくなるわけで、かなり大きな問題だと思います。

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

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

 

Cordova 草分けであり、もっともメジャーなプロジェクト
Ionic CordovaにangularJSを組み込むことで、UIの作業性を改善したものです。Cordovaという大きな円を書くと、Ionicはそのなかにあるイメージ。
Capaciter Ionicのコンセプトをより推し進めた次世代のプロジェクト。将来的にはCordovaの次世代を担う。長期的にみてCapaciterへの移行が進められるよう(とはいえCordovaのサポートはかなり長く続くので、Cordovaが基本であることはしばらく変わらなそう)。

 

で、アップルのAPI削除に関して、それぞれで並行して対応しています。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に乗り換える絶好の機会かもしれません。

ABOUT ME
Masaya
テラプログラミングとは造語です。テラ=地球・陸地といった意味があるので、思い描いた理想をプログラミングで実現する=テラプログラミングと名付けています。 1987年生まれです。 職業はメーカでエンジニアをしており、それはそれで好きなのですが、好奇心と探求心、それと本当はコンプレックスのせいもあったのかもしれませんが、瞑想や心理学、いわゆる”スピリチュアル系”方面が昔から大好きです。