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

Package detail

appium-xcode

appium894.9kApache-2.05.2.22TypeScript support: included

Interact with Xcode

appium, ios, xcode

readme

appium-xcode

NPM version Downloads

Release

ES7 module for interacting with Xcode and Xcode-related functions. Used by various Appium drivers.

API

All functions are async, meaning they return promises which can be awaited via await.

Most functions are memoized, so after they are called once, they will simply return the same value. Remember that calling require() multiple times returns the same instantiation of a module if it has already been instantiated, so the memoization will be preserved across multiple files in the same project.

Some functions have an auto-retry built into them, they will retry silently a number of times. This is because the Xcode commands sometimes just flake and return bad values (or don't return).

getPath([timeout=15000])

memoized

gets path to Xcode Developer root.

getVersion([parse=false], [retries], [timeout])

memoized, retry

returns the version of Xcode formatted as a string, for example 6.3.1, or a version object if parse is true

getMaxIOSSDK([num_retries])

memoized, retry

returns the highest IOS SDK version supported by Xcode. eg: '8.3'

getMaxTVOSSDK([num_retries])

memoized, retry

returns highest tvOS SDK version supported by Xcode. eg: '10.1'

Develop

Test

npm test
npm e2e-test

Debug

After cloning appium-xcode, execute npm link in the appium-xcode directory. Next run npm link appium-xcode from the appium directory. This will symlink appium-xcode to node_modules/appium-xcode. If the clone becomes out of date remember to unlink or delete node_modules and reinstall.

For quick debugging you could cd into the node_modules/appium-xcode folder and run npm install followed by npm run build.

changelog

5.2.22 (2025-05-20)

Miscellaneous Chores

  • deps-dev: bump conventional-changelog-conventionalcommits (#151) (20d2838)

5.2.21 (2025-01-03)

Miscellaneous Chores

  • deps-dev: bump @appium/eslint-config-appium-ts from 0.3.3 to 1.0.1 (#149) (0e596c4)

5.2.20 (2024-12-06)

Miscellaneous Chores

  • deps: bump @appium/support from 5.1.8 to 6.0.0 (#148) (f7c3ec7)

5.2.19 (2024-12-03)

Miscellaneous Chores

  • deps-dev: bump mocha from 10.8.2 to 11.0.1 (#147) (d84ee32)

5.2.18 (2024-08-01)

Miscellaneous Chores

  • deps-dev: bump @types/node from 20.14.13 to 22.0.2 (#145) (ca1a8a2)

5.2.17 (2024-07-09)

Miscellaneous Chores

5.2.16 (2024-06-18)

Miscellaneous Chores

5.2.15 (2024-06-12)

Miscellaneous Chores

  • deps: bump @appium/support from 4.5.0 to 5.0.3 (#142) (9aa8f46)

5.2.14 (2024-06-03)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 23.1.1 to 24.0.0 and conventional-changelog-conventionalcommits to v8 (#140) (9415325)

5.2.13 (2024-05-16)

Miscellaneous Chores

  • Update dev dependencies (5e67a46)

5.2.12 (2024-04-09)

Miscellaneous Chores

5.2.11 (2024-03-07)

Miscellaneous Chores

5.2.10 (2024-03-02)

Bug Fixes

5.2.9 (2024-01-16)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 22.0.12 to 23.0.0 (#123) (d6ad99d)

5.2.8 (2023-11-06)

Miscellaneous Chores

  • deps-dev: bump @types/sinon from 10.0.20 to 17.0.0 (#118) (14c97b9)

5.2.7 (2023-11-01)

Miscellaneous Chores

  • deps: bump asyncbox from 2.9.4 to 3.0.0 (#117) (cd3c2b6)

5.2.6 (2023-10-25)

Miscellaneous Chores

  • deps-dev: bump @typescript-eslint/eslint-plugin from 5.62.0 to 6.9.0 (#116) (92184fd)
  • deps-dev: bump semantic-release from 21.1.2 to 22.0.5 (#106) (2fd68a4)

5.2.5 (2023-10-19)

Miscellaneous Chores

  • Use latest teen_process types (9631cc1)

5.2.4 (2023-10-19)

Miscellaneous Chores

  • deps-dev: bump lint-staged from 14.0.1 to 15.0.2 (#115) (e19e01d)

5.2.3 (2023-10-19)

Miscellaneous Chores

  • Use latest types version (61217da)

5.2.2 (2023-10-19)

Miscellaneous Chores

  • deps-dev: bump eslint-config-prettier from 8.10.0 to 9.0.0 (#112) (59e434e)
  • deps: bump @types/teen_process from 2.0.0 to 2.0.1 (b4f2e1b)

5.2.1 (2023-08-31)

Bug Fixes

5.2.0 (2023-08-31)

Features

5.1.7 (2023-08-28)

Miscellaneous Chores

  • deps-dev: bump conventional-changelog-conventionalcommits (#96) (e7ae34d)

5.1.6 (2023-08-25)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 20.1.3 to 21.1.0 (#95) (af02967)

5.1.5 (2023-08-14)

Miscellaneous Chores

  • deps-dev: bump lint-staged from 13.3.0 to 14.0.0 (#93) (9784d60)

5.1.4 (2023-07-06)

Miscellaneous Chores

  • deps-dev: bump prettier from 2.8.8 to 3.0.0 (#92) (4ae26f4)

5.1.3 (2023-07-06)

Miscellaneous Chores

  • deps-dev: bump @appium/tsconfig from 0.2.4 to 0.3.0 (#84) (6af8b7a)

5.1.2 (2023-06-07)

Miscellaneous Chores

  • deps-dev: bump conventional-changelog-conventionalcommits (#88) (55e4a34)

5.1.1 (2023-05-18)

Miscellaneous Chores

  • deps: bump @appium/support from 3.1.11 to 4.0.0 (#86) (84c9c23)

5.1.0 (2023-04-03)

Features

5.0.2 (2023-03-27)

Bug Fixes

5.0.1 (2023-01-17)

Miscellaneous Chores

  • deps-dev: bump semantic-release from 19.0.5 to 20.0.2 (#76) (72df142)

4.0.5 (2022-12-14)

Miscellaneous Chores

  • deps: bump @appium/support from 2.61.1 to 3.0.0 (#75) (ea818d4)

4.0.4 (2022-12-01)

Miscellaneous Chores

4.0.3 (2022-11-06)