limdk v0.0.34
NodeJs wrapper for libimobiledevice
Requirements
- Node.js >= 6.0
- libimobiledevice & ideviceinstaller
brew install libimobiledevice
brew install ideviceinstallerGetting started
Install via NPM:
npm install --save idevicekitAPI
idevicekit.listDevices()
Gets the list of currently connected devices.
- Returns:
Promise - Resolves with:
devicesAn array of device's serial
idevicekit.getProperties(serial, option)
Retrieves the properties of the device identified by the given serial number. This is analogous to ideviceinfo.
- serial The serial number of the device. Corresponds to the device ID in
idevicekit.listDevices(). - option Optional. The following options are supported, use
ideviceinfo --helpto learn more- simple When
true, use a simple connection to avoid auto-pairing with the device, Default: false - domain set domain of query to NAME. Default: None
- simple When
- Returns:
Promise - Resolves with:
propertiesAn JSON Object of device's properties.
idevicekit.getPackages(serial, option)
Retrieves the list of packages present on the device. This is analogous to ideviceinstaller.
- serial The serial number of the device. Corresponds to the device ID in
idevicekit.listDevices(). - option Optional. The following options are supported, use
ideviceinstaller --helpto learn morelist List apps, possible options:
- user: list user apps only (this is the default)
- system: list system apps only
- all: list all types of apps
- Returns:
Promise - Resolves with:
packagesAn array of app package
idevicekit.screencap(serial)
Takes a screenshot in PNG format using idevicescreenshot.
- Returns:
Promise - Resolves with:
screencapAn PNG stream.
idevicekit.install(serial, ipa)
Installs the IPA on the device, This is analogous to ideviceinstaller -i <ipa>
- Returns:
Promise - Resolves with:
outputoutput of install command
idevicekit.reboot(serial)
reboot using idevicediagnostics restart.
- Returns:
Promise - Resolves with:
successTrue if success
idevicekit.shutdown(serial)
reboot using idevicediagnostics shutdown.
- Returns:
Promise - Resolves with:
successTrue if success
shortcut API
idevicekit.getBasicInformation(serial, option)
Basic device information from Apple, such as CPU, RAM, Official Name
getResolution(serial)
getStorage(serial)
getBattery(serial)
Example
let co = require('co');
let idevicekit = require('./index');
let fs = require('fs');
co(function* () {
let devices = yield idevicekit.listDevices();
for (let device of devices) {
let properties = yield idevicekit.getProperties(device);
let battery = (yield idevicekit.getBattery(device)).level;
let resolution = yield idevicekit.getResolution(device);
let status = yield idevicekit.getDeveloperStatus(device);
console.log(`${device}: ${properties['DeviceName']}`);
console.log(` model: ${properties['ProductType']}`);
console.log(` battery: ${battery}`);
console.log(` resolution: ${resolution['width']}x${resolution['height']}`);
console.log(` status: ${status}`);
let screenshotStream = yield idevicekit.screencap(device);
screenshotStream.pipe(fs.createWriteStream(device + '.png'));
}
}).catch((err) => {
console.log(err);
});6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago