Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

appium-ios-simulator

appium953.9kApache-2.06.2.2TypeScript support: included

iOS Simulator interface for Appium.

appium, simulator, ios, simctl

readme

appium-ios-simulator

NPM version Downloads

Appium API for dealing with iOS simulators. The API enables you to use the following features:

  • query locations of Simulator-specific directories and applications
  • read/write access to Simulator settings
  • full control over starting and stopping simulators
  • deal with biometric auth, geolocation settings, application permissions, and others

Usage

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);

Third-party tools

The following tools and utilities are not mandatory, but could be used by the appium-ios-simulator, if installed locally, to extend its functionality:

Xcode and iOS versions

Check Xcode wikipedia for more details about Xcode version to iOS version mapping.

Development

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

changelog

6.2.2 (2025-04-05)

Bug Fixes

  • Wait for springboard restart and spotlight application restart after applesimutils invocation (#447) (76d38b3)

6.2.1 (2025-03-25)

Miscellaneous Chores

6.2.0 (2025-01-27)

Features

  • add increase contrast and content size commands (#444) (486bc4d)

6.1.17 (2025-01-05)

Miscellaneous Chores

  • Bump @appium/eslint-config-appium-ts from 0.3.3 to 1.0.1 (#443) (b387d8d)

6.1.16 (2024-12-12)

Miscellaneous Chores

  • Replace occurrences of the deprecated errorAndThrow API (#442) (9e3a72c)

6.1.15 (2024-12-06)

Miscellaneous Chores

  • Bump @appium/support from 5.1.8 to 6.0.0 (#441) (e0f4e24)

6.1.14 (2024-12-03)

Miscellaneous Chores

6.1.13 (2024-09-16)

Miscellaneous Chores

6.1.12 (2024-09-16)

Bug Fixes

6.1.11 (2024-07-29)

Miscellaneous Chores

  • Bump @types/node from 20.14.13 to 22.0.0 (#435) (6642944)

6.1.10 (2024-07-09)

Miscellaneous Chores

6.1.9 (2024-06-18)

Miscellaneous Chores

6.1.8 (2024-06-12)

Miscellaneous Chores

  • Bump @appium/support from 4.5.0 to 5.0.3 (#433) (a9c974d)

6.1.7 (2024-06-05)

Bug Fixes

  • system prompt for Apple ID sign in unexpectedly not translated (#431) (9c3bb77)

6.1.6 (2024-06-04)

Miscellaneous Chores

  • Bump semantic-release from 23.1.1 to 24.0.0 and conventional-changelog-conventionalcommits to 8.0.0 (#430) (0d819ef)

6.1.5 (2024-05-16)

Miscellaneous Chores

  • Update dev dependencies (b386580)

6.1.4 (2024-05-16)

Miscellaneous Chores

6.1.3 (2024-04-09)

Miscellaneous Chores

6.1.2 (2024-03-26)

Bug Fixes

  • Update settings domain name (42f5b90)

6.1.1 (2024-03-26)

Bug Fixes

  • Update the typedef for scrubSafari API (#423) (3ccbf80)

6.1.0 (2024-03-26)

Features

6.0.0 (2024-03-26)

⚠ BREAKING CHANGES

  • Dropped obsolete simulator classes: SimulatorXcode8, SimulatorXcode9 and SimulatorXcode9_3. APIs that are still relevant have been moved to SimulatorXcode10
  • Added proper type definitions. Interfaces were refactored and connected to appropriate extension classes.

Now it is possible to provide a logger to the factory method, which improves the visibility of session identifiers

Features

5.5.3 (2024-03-07)

Miscellaneous Chores

5.5.2 (2024-01-17)

Miscellaneous Chores

  • Bump semantic-release from 22.0.12 to 23.0.0 (#410) (c5dbc59)
  • use latest lts for the publishment (96c21d2)

5.5.1 (2023-12-04)

Bug Fixes

  • handle location command as case insensitive (#407) (fa060a4)

5.5.0 (2023-11-26)

Features

  • use xcrun privacy instead of wix for location permission but keep using wix for rest (#406) (6280527)

5.4.0 (2023-11-24)

Features

5.3.10 (2023-11-23)

Bug Fixes

  • Only restart system services if the language is actually changed (#403) (62c2ffb)

5.3.9 (2023-11-06)

Miscellaneous Chores

  • Bump @types/sinon from 10.0.20 to 17.0.0 (#402) (b2ced20)

5.3.8 (2023-11-01)

Miscellaneous Chores

5.3.7 (2023-11-01)

Bug Fixes

  • appropriately translate some system prompts on iOS 16.1 simulator (#400) (f551113)

5.3.6 (2023-10-28)

Miscellaneous Chores

  • Bump @typescript-eslint/eslint-plugin from 5.62.0 to 6.9.0 (#399) (3229686)

5.3.5 (2023-10-24)

Miscellaneous Chores

5.3.4 (2023-10-19)

Miscellaneous Chores

  • Bump @types/teen_process from 2.0.0 to 2.0.2 (#394) (d7aff53)
  • Bump eslint-config-prettier from 8.10.0 to 9.0.0 (#395) (8a9dd1b)
  • Bump lint-staged from 14.0.1 to 15.0.2 (#396) (65bc459)
  • Bump semantic-release from 21.1.2 to 22.0.5 (#387) (e86a288)
  • Use latest teen_process types (5c97a49)
  • Use latest types (858661a)

5.3.3 (2023-09-26)

Bug Fixes

  • Only restart springboard if the system language is changed (#388) (99e3ae5)

5.3.2 (2023-09-23)

Bug Fixes

  • appropriately translate com.apple.SpringBoard and system prompts (#384) (edde636)

5.3.1 (2023-09-14)

Miscellaneous Chores

5.3.0 (2023-09-07)

Features

  • Add setAutoFillPasswordsEnabled function (#378) (fa724ec)

5.2.2 (2023-08-28)

Miscellaneous Chores

  • Bump conventional-changelog-conventionalcommits (#375) (4c5b6cc)

5.2.1 (2023-08-25)

Miscellaneous Chores

  • Bump semantic-release from 20.1.3 to 21.1.0 (#374) (0dd29f8)

5.2.0 (2023-08-21)

Features

5.1.4 (2023-08-14)

Miscellaneous Chores

  • Bump lint-staged from 13.3.0 to 14.0.0 (#370) (1ae4371)

5.1.3 (2023-07-28)

Bug Fixes

  • Exclude empty entries from the list of system bundle identifiers (#369) (698f4e5)

5.1.2 (2023-07-21)

Bug Fixes

  • isAppInstalled in lib/simulator-xcode-15.js (#368) (8a749d1)

5.1.1 (2023-07-07)

Miscellaneous Chores

5.1.0 (2023-06-23)

Features

5.0.9 (2023-06-07)

Miscellaneous Chores

  • Bump conventional-changelog-conventionalcommits (#362) (025f81b)

5.0.8 (2023-05-18)

Miscellaneous Chores

  • Bump @appium/support from 3.1.11 to 4.0.0 (#359) (c5a7a99)

5.0.7 (2023-01-17)

Miscellaneous Chores

  • Bump semantic-release from 19.0.5 to 20.0.2 (#354) (f4a2b93)

5.0.6 (2023-01-13)

Miscellaneous Chores

  • Bump appium-xcode from 4.0.5 to 5.0.0 (#355) (ddbacb5)

5.0.5 (2023-01-09)

Bug Fixes

5.0.4 (2023-01-08)

Miscellaneous Chores

  • update links for set-simulator-location (#353) (1db8818)

5.0.3 (2023-01-04)

Bug Fixes

  • retrieve an appropriate unix socket path (#352) (de11bfc)

5.0.2 (2022-12-19)

Bug Fixes

5.0.1 (2022-12-15)

Miscellaneous Chores

  • Bump @appium/support from 2.61.1 to 3.0.0 (#349) (f8a85dc)

4.2.1 (2022-12-12)

Bug Fixes

  • Update Simulator preferences configuration (#347) (355c5da)

Code Refactoring

4.2.0 (2022-12-09)

Features

4.1.8 (2022-12-09)

Miscellaneous Chores

4.1.7 (2022-12-01)

Miscellaneous Chores

4.1.6 (2022-11-29)

4.1.5 (2022-11-06)