TiShadow enables you to test faster on multiple devices at once. This is a step by step article to use it.

If you want to use it on Android Genymotion emulators, you first have to install Google Apps on these emulators.

TiShadow consists of 3 elements:

  • The server that pushes apps and updates to the connected clients
  • The clients (TiShadow app) that connect to the server to receive apps and updates
  • The CLI to initiate the builds and updates

1. Install TiShadow:

npm install -g tishadow

2. TiShadow comes bundled with the TiShadow app (the client).This is just a Titanium mobile app project. First extract it to some directory:

tishadow app -s [mydirectory]

And install it on every emulator you want to test on, for example (see the Titanium CLI reference for more options):

ti build –p android
ti build –p ios

3. Start the server:

tishadow server

4. Connect the clients by opening the TiShadow app on the emulators and enter the IP address the servers listens to (by default this is the IP address of your machine). If you start the server you can also see it as a log entry.

To get the IP on a Mac first use ifconfig to look up the interface and when you get the right one (will most times be en0 or en1) do:

ipconfig getifaddr [myinterface]

5. Push the app you want to test to the server (the server will then push it to all the connected clients). First you have to do a full push with:

tishadow run

The next time you change something you can so an incremental push:

tishadow run -u

If you want to watch for updates so every time you save something it is pushed to the server you can do:

tishadow @ run -u