appium-ios-device is a robust Node.js library providing a comprehensive API for advanced, low-level programmatic interaction with iOS devices. It acts as a direct, pure JavaScript/TypeScript rewrite of the `libimobiledevice` C library, enabling Appium and other tools to communicate with iPhones, iPads, and iPods over `usbmuxd` without relying on macOS-specific tools like Xcode for basic operations. This package facilitates a wide array of functionalities, including retrieving detailed device information (OS version, name, device time), establishing secure port connections, and managing various iOS services such as syslog monitoring, web inspector sessions, app installation proxying, and location simulation. A key differentiator is its `Xctest` class, which allows invoking pre-installed XCUITest applications on devices without needing a full Xcode environment on the host machine. Currently at version 3.1.11, the library undergoes active development with frequent patch and minor releases, reflecting ongoing maintenance and adaptation to new iOS versions and underlying dependencies. While primarily used and tested within the `appium-xcuitest-driver` on macOS, it offers partial functionality on other platforms, though full capabilities often necessitate specific developer image mounts or a macOS host with Xcode.
npm install appium-ios-deviceVerified import paths — ran on the pinned version, not inferred.
Demonstrates how to discover and retrieve basic information for all currently connected iOS devices via USB.
Upgrade your Node.js environment to a compatible version (e.g., using `nvm install 20` or `nvm install 22`).
For optimal experience and full feature set, use this module on a macOS host with a recent version of Xcode installed.
Manually download the appropriate DeveloperDiskImage.dmg for your iOS version from Apple Developer Downloads and mount it to the device, or ensure your Xcode version matches the iOS version.
Update your Node.js environment to version 20.19.0+, 22.12.0+, or 24.0.0+ using a tool like `nvm` (`nvm install 20 && nvm use 20`).
Ensure the iOS device is connected via USB, unlocked, has 'trusted' the computer, and verify `usbmuxd` is running on your host system.
Ensure your Xcode version is compatible with the connected iOS device's OS. If not, manually download and mount the correct `DeveloperDiskImage.dmg` and `DeveloperDiskImage.dmg.signature` files.
No dependency data recorded yet.