cordova

Apache Cordova のスプラッシュ・スクリーン表示がややこしい

Apache Cordova でスプラッシュ・スクリーンを表示するのは大変ややこしいです。

iOS アプリは素でスプラッシュ・スクリーンの機能を持っているため、それが使われているようです。細かいことを考えずに使うことができます。何も考えずに規定で有効になっています。

$ cordova create project1
$ cd project1
$ cordova platform add ios
$ cordova emulate

これだけで、スプラッシュ・スクリーンの表示がされます。(あくまで Apache Cordova 画像のスプラッシュ画像ですが...)

ややこしいのは Android アプリの場合です。規定では有効になっておらず、config.xml に 以下の設定を追加する必要があります。これを追加することで、iOS と同様に Apache Cordova 画像のスプラッシュ・スクリーンが表示されるようになります。

    <preference name="SplashScreen" value="screen" />

generator-graybullet-cordova で事後署名 (iOS)

前回は generator-graybullet-cordova で Android アプリでの事後署名を紹介しました。この昨日は iOS でも利用できます。本日は iOS での事後署名を紹介します。

自己署名の方法そのものは Android の時とかわりはありません。ですが、署名用の秘密鍵の生成方法が違います。iOS の場合は Android のように手軽に作れませんので、iOS Developer ProgramiOS Developer Enterprise Program のヘルプを参照してください。

ここでは配布証明書のペアとなる秘密鍵が Mac のキーストアに保存されているものとします。

generator-graybullet-cordova で事後署名 (Android)

Apache Cordova を使っていて不便なのが署名です。もちろん、自分の端末でビルドする分にはそれほど問題がありません。しかし、CI 上で署名するとなると署名用の秘密鍵の扱いに大変困ります。

CI でビルドし未署名の apk ファイルをダウンロードし後から署名することになりますが、generator-graybullet-cordova で作成したプロジェクトではこの機能がはじめから備わっており、細かいことを考える必要がありません。

この事後署名の機能を試します。

まずは署名をするための秘密鍵を作成します。

generator-graybullet-cordova を使うと簡単にアプリを作成できます

generator-graybullet-cordova には Apache Cordova で少々不満に思っている部分を少しずつ追加していっています。そのうちの一つが、プロジェクトごとに違うバージョンの Cordova を使うだったりします。

Cordova でアプリをビルドすると、アプリファイルがどこにできたかよくわからないことってないですか? まあ、そのうち覚えてしまうのですが、プラットフォームごとに場所が違いますのでちょっと面倒です。おかげで、Jenkins などで成果物を固めるときに不便です。generator-graybullet-cordova では、ビルド時にアプリファイルを dist ディレクトリにまとめることができます。

実際にやってみます。まずはプロジェクトを作成します。

Au Fx0 を Ubuntu に接続して開発する (開発編)

前回の準備編に引き続き、本日は実際にプロジェクトを作って実機で実行してみます。

まずは前回と同様に、実機を USB 接続して Firefox Developer Edition を起動して WebIDE で実機に接続します。

何はなくともとりあえず、adb コマンドで実機が認識されているかを確認します。

$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
LGOTMSXXXXXXXX  device

認識したら Firefox Developer Edition を起動します。

$ ~/firefox/firefox

Shift + F8 を押して WebIDE を起動し、ランタイムを選択から Firefox OS (LGL25) を選びます。

これでとりあえず実行の準備は整いました。実際にアプリを作ってみます。

Cordova プロジェクトでチーム内でビルドするプラットフォームを分ける

Cordova を使っている人の多くは Android と iOS で動作するアプリを作るためだと思います。チーム開発のとき、開発者全員に Mac が回らずに Windows (もしくは Linux) での開発を強いられることも多いと思います。

Cordova は意外と不親切で、Windows (もしくは Linux) だからといって iOS プラットフォームのビルドをスキップしたりはしてくれません。残念ながらビルドの失敗します。(一応、Android プラットフォームの方が先にビルドされるようで、エラーながら Android アプリはできます)

ビルドを失敗させないためには面倒ですが、プラットフォームを意図的に指定する必要があります。

cordova build android

これを毎回行うのは意外と大変で、よく間違えてうがー! ってなります。

プロジェクトローカルの Cordova を使う

Cordova でアプリを作っていると、プロジェクトごとに Cordova のバージョンが切り替えられたらなあと思ったことはないでしょうか?

プロジェクトを始める前にそのプロジェクト用の Cordova を再インストールしてもいいのですが...

$ npm install -g cordova@4.0.0

こんな感じですね。でも、この方法だと間違いそうです。

generator-graybullet-cordova でプロジェクトを作成すると、この問題が解決します。

generator-graybullet-cordova は Cordova をプロジェクトローカルにインストールします。grunt タスクを使っている限りはプロジェクトローカルの Cordova が使われます。

RSS - cordova を購読