Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@fakestarbaby

コマンド一発で DeployGate でアプリ配信 for Corona SDK

皆さんは、Corona SDK で開発したアプリを実機で確認するとき、どうやって実機にアプリ配信していますか?私は、実機とケーブルを繋ぐことが面倒で、いつも、DeployGate を利用しています。iOS / Android アプリ共に、DeployGate を利用することで、手順が共通化され、簡単にアプリ配信が行えるようになります。

今回は、Corona SDK で開発したアプリを、コマンド一発で DeployGate 経由でアプリ配信する方法について紹介します。

Corona SDK でビルド

いつものやつですね。
iOS アプリをビルドすると xxxxx.app というファイルが、Android アプリをビルドすると xxxxx.apk というファイルが自動生成されます。

IPA ファイルを作成 for iOS

iOS アプリの場合は、別途、IPA ファイルを作成する必要があります。
IPA ファイルは、Payload というディレクトリを作成して、そこに xxxxx.app ファイルを放り込んで ZIP で固める必要があります。

面倒臭いので、ここまでの作業を自動化しましょう。

ipa.sh
#!/bin/bash

NAME="/Users/fakestarbaby/Desktop/${PWD##*/}"
if [ $# = 1 ]; then
  NAME=$1
fi

if [ ! -e $NAME.app ]; then
  echo "$NAME.app: No such file or directory"
  exit 1
fi

if [ -d "Payload" ]; then
  rm -fr Payload/*
else
  mkdir Payload
fi

cp -rf $NAME.app Payload
zip -r $NAME.ipa Payload
rm -fr Payload

アプリのプロジェクトのルートディレクトリで上記プログラムを実行することで、デスクトップ上に生成済みの xxxxx.app ファイルから IPA ファイルを自動生成します。

注) 前提条件として、ビルドしたときのアプリ名称と、アプリのプロジェクト名称が同じ名称になっている必要があるので注意してください。

DeployGate へアップロード

DeployGate が提供しているコマンドラインツールをインストールすれば、コマンド一発で簡単にアプリをアップロードすることが出来るようになります。

詳しいインストール方法については、以下の公式サイトを参照してください。

以下のコマンドを叩くだけで、IPA ファイル / APK ファイルを簡単にアップロードすることが出来るようになります。

console
dgate push xxxxx.ipa / xxxxx.apk

for iOS

私は、先程の IPA ファイルを自動生成するプログラムに、DeployGate へアップロードするコマンドも合わせて書いていて、IPA ファイルを自動生成したあと、そのまま、DeployGate へアプリをアップロードするようにしています。

プログラム全体は、このような感じになります。

ipa.sh
#!/bin/bash

NAME="/Users/fakestarbaby/Desktop/${PWD##*/}"
if [ $# = 1 ]; then
  NAME=$1
fi

if [ ! -e $NAME.app ]; then
  echo "$NAME.app: No such file or directory"
  exit 1
fi

if [ -d "Payload" ]; then
  rm -fr Payload/*
else
  mkdir Payload
fi

cp -rf $NAME.app Payload
zip -r $NAME.ipa Payload
rm -fr Payload

dgate push $NAME.ipa

これで、Corona SDK でビルドした直後に、このプログラムを実行するだけで、簡単に DeployGate へアプリをアップロードすることが可能になります。

for Android

Android アプリに関しては、APK ファイルをアップロードするだけですので、同様の前提条件を満たせるのであれば、以下のようなプログラムを実行しても良いでしょう。

apk.sh
#!/bin/bash

NAME="/Users/fakestarbaby/Desktop/${PWD##*/}"
if [ $# = 1 ]; then
  NAME=$1
fi

dgate push $NAME.apk

実機にアプリをインストール

for iOS

DeployGate には、iOS アプリがありません。そのため、Safari で DeployGate にアクセスして、アップロードしたアプリをインストールしてください。

私は、ホーム画面に追加して、すぐに、アプリをインストール出来るようにしています。

for Android

Android アプリが用意されています。

まとめ

DeployGate が登場してから、アプリ配信の敷居がぐっと下がりましたよね。もっと自動化を追求して、Corona SDK アプリをビルドした流れで、そのまま、DeployGate でアップロードされるように自動化出来たら、もう言うこと無しです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
8
Help us understand the problem. What are the problem?