Node wrapper around ideviceinstaller
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Install apps to your ios device with node.

This project depends on ideviceinstaller from the libimobiledevice project. The currently preferred way of obtaining the binary is to use brew.

brew install ideviceinstaller

You can then tell node-idevice to use the command:

// Use executable found in your $PATH
var device = new IDevice();

// Or you can manually set the executable
var device = new IDevice(false, {cmd: './path/to/ideviceinstaller'});

If you want to build the binary yourself you can try:


This should pull and build all the dependencies. Be warned this is pretty long.

We currently support installing, removing and listing apps on a device.


var ipa = path.resolve(__dirname, '../path/to/your/App.ipa');
device.install(ipa, function (err) {
	// Do stuff when app is installed

// If you want to be sure the callback executes with the app on device you can use
device.installAndWait(ipa, 'domain.organisation.App', function (err, success) {
    // Do stuff when app is on device and ready


ideviceinstaller consumes IPA packages, please see the docs on how to get an IPA from your App.


device.remove('domain.organisation.App', function (err) {
	// Do stuff when app is installed

Checking if an app is Installed

device.isInstalled(appName, function (err, installed) {
	// Installed is true when app is found on device

Listing Installed apps

device.listInstalled(function (err, data) {
	// data is a list of objects, one per app
	// The object contains info about the app, currently 'name' and 'fullname'