Appium API for dealing with iOS simulators. The API enables you to use the following features:
async getSimulator(udid)
This is the main entry of this module. This function returns a simulator object (see below) associated with the udid passed in. If an iOS simulator with the given udid does not exist already on this machine, it will throw an error.
If you want to create a new simulator, you can use the createDevice() method of node-simctl.
import { getSimulator } from 'appium-ios-simulator';
import assert from 'node:assert/strict';
const sim = await getSimulator('DAE95172-0788-4A85-8D0D-5C85509109E1');
await sim.run();
assert.equal('Booted', (await sim.stat()).state);
await sim.shutdown();
assert.equal('Shutdown', (await sim.stat()).state);
The following tools and utilities are not mandatory, but could be used by the appium-ios-simulator, if installed locally, to extend its functionality:
contacts, camera, faceid, health, homekit, notifications, speech and userTracking permissionsCheck Xcode wikipedia for more details about Xcode version to iOS version mapping.
Checkout the repository and run
npm install
npm run dev
Use the following commands to run tests:
# unit tests
npm run test
# integration tests
npm run e2e-test
$ claude mcp add appium-ios-simulator \
-- python -m otcore.mcp_server <graph>