はじめに
TiShadowを使って、自動ビルドを目指します。
ただのTi自動ビルドと違い、hotdeploy的な再読み込みをするので速いです。
TiShadowは実機やシミュレーターの垣根なく展開するので、開発時だけでなく検証時にも力を発揮します。
TiShadow サーバーのインストール
nodebrew install 0.6.x
nodebrew use 0.6.x
npm install -g tishadow
-
tishadow server
http://localhost:3000にアクセスできるか確認
TiShadow アプリのインストール
-
TiShadowアプリのビルド専用SDKのダウンロードは不要になりました
-
git clone https://github.com/dbankier/TiShadow.git
-
cd TiShadow/app
-
Titanium Studio等でビルドする
-
Simulatorや実機にインストールする
開発中のアプリを転送する
- 予め
tishadow server
としておき、wifi内からMacに接続できるようにしておく - Simulatorや実機のTiShadowアプリを起動し、MacのIPアドレスを入力する
- 開発中のアプリルートに移動し、
tishadow
と実行する
注意点
- CommonJSスタイル必須。
Ti.include
は動かない。 - '/'からrequireする必要がある
- ◯
var _ = require('/lib/underscore')._;
- ×
var _ = require('lib/underscore')._;
- ◯
- Native modulesを動かしたい場合は、TiShadowアプリをビルドする時に含めること
- TiのAPIは全て使えるわけではない。
Ti.App
などはIncludes.jsのリストに追加して、リビルドが必要 -
Ti.API
のlogはTiShadowのwebpageやコンソールにリダイレクトされる - 開発中のアプリは、通常のSDKでよい
- グローバル変数があると動作しない
- joli.jsを使う場合は、b757e00のように書き換えること
tishadow
の自動実行
bundle install --path vendor/bundle
guard
Guardfile
guard 'shell' do
watch(%r{Resources/.+\.js}) {`tishadow`}
callback(:start_begin) { Thread.new {`tishadow server`} unless system('curl -q http://localhost:3000 > /dev/null 2>&1') }
end
Gemfile
source 'https://rubygems.org'
gem 'guard-shell'