2016年5月11日水曜日

アプリの更新作業 その3

結局、期日までに更新が間に合わなかったのだけれど、今朝の時点でアプリは公開停止にされておらず、インストールが可能な状態です。実際のところ、しばらくは猶予期間が設けられているのだろうか。

私の結論としては、現行アプリは更新せず、新たなアプリとして再リリース。アプリ本体の中身はは全く同じなんですけどね。

Cordova、正確に言うとAdobe PhoneGapはアップデートを済ませた。コマンドプロンプトで確認するとバージョンは6.1.1。PhoneGapの公式ブログによればバージョン6.1.0は以下のプラットフォームを含む。

The platform version breakdown of cli-6.1.0 is as follows:

●iOS: 4.1.0
●Android: 5.1.1
●Windows: 4.3.1

Windows 10 and PhoneGap CLI-6.1.0 Now on Build より

2016年5月7日土曜日

アプリの更新作業 その2

アプリを作成した当時のCordovaのバージョンが5.1.1だと確認できたので、今回のセキュリティアラートに納得がいかず、Google Play Developer Supportに問い合わせを出した。

回答をいただいたのだけれど、やはり「脆弱性の問題が含まれている古い Apache Cordova バージョン4.0.2 が使用されている」とのこと。何故そうなっているのだろう。

HTML5でハイブリッドアプリを作成 | Cordovaを使ったAndroidアプリ開発 - Cordovaをインストール の手順を参考にインストールし、コマンドプロンプトでバージョンを確認すると、5.1.1と表示されるというのに。

そこで上記参考ページにあるリンク Cordovaとは をクリックしてみた。

表示されたのは 「PhoneGap (Cordova) とは?」と題するページ。そこには Phonegap公式サイト へのリンクがあった。この時点で何となく事情がわかってきた。

PhoneGap - WikipediaHTML5ハイブリッドアプリ開発を支えるOSS「Cordova」はなぜアツいのか?PhoneGapとの違いは何か? - ふろしき.js によれば、 Cordova は、「PhoneGap」を開発していたNitobiをAdobeが買収し、Apache Foundationへ寄贈したことに由来する。

そして、Adobeは「PhoneGap」名で開発を続け、Apacheは「Cordova」という名前に変更して開発をしている。また、それぞれのバージョン番号は一致しない。

この辺りの事情は事前に目を通していたつもりだが、では自分がどちらをインストールしたのか、意識も確認もしていなかった。

HTML5でハイブリッドアプリを作成 | Cordovaを使ったAndroidアプリ開発 - Cordovaをインストール にあるリンク Cordovaとは を開いたことで、私がインストールしたのはAdobeの「PhoneGap」だったことに気付いた。

つまり、インストールを確認したバージョン5.1.1はPhopneGapのものであり、Cordovaのものではなかった。う~ん、紛らわしい。なんでコマンドプロンプトで「cordova -v」を受け入れるのか。こういう混乱を招く利便性は却って迷惑である。

"phonegap cordova version"のキーワードで検索するとCordova 5.1.1 Now on PhoneGap Build が結果の先頭に出た。これを開いてみると、

This will build your PhoneGap app with the following individual platform versions:

●Cordova Android 4.0.2
●Cordova iOS 3.8.0
●Cordova WP8 (Windows Phone 8) 3.8.1

との案内が見られた。これでようやくハッキリとわかった。PhoneGapのバージョン5.1.1はCordovaのバージョン4.0.2に相当し、セキュリティアラートは妥当であった。

2016年5月5日木曜日

アプリの更新作業

ゴールデンウィークに入ってようやく重い腰を上げ、アプリの更新に取り掛かって3日目、大したことないだろうとの予想が大ハズレ。

アプリの本体は変更の必要が無く、主にフレームワークのcordovaとconfig.xml内のversionを更新して、リビルドするだけのことなんだけど、これまた手順のまとめられたページがとんと見つからない。

おまけに途中で「バージョン管理」なんて情報に当たって、その方法を調べ始めたもんだから、さらに躓いてます。

期限の5月9日まで、今日を含めて5日間、果たして間に合うだろうか。いっそのこと、新たなアプリとしてリリースする方が簡単かも。

【補足】改めて自分の開発環境を確認したらcordovaのバージョンは5.1.1でした(更新が必要なのは4.1.1以前のバージョン)。・・・ってことは更新要らないじゃん。どうして該当アプリとして警告が届いたんだろう。このまま放っておいたら強制的に公開を停止されてしまうのかしら・・・