{"id":13612809,"url":"https://github.com/appium/appium-xcode","last_synced_at":"2026-02-16T09:27:39.551Z","repository":{"id":29347927,"uuid":"32882094","full_name":"appium/appium-xcode","owner":"appium","description":"Xcode related utilities. Get version number and path to executable.","archived":false,"fork":false,"pushed_at":"2025-05-20T23:01:20.000Z","size":301,"stargazers_count":17,"open_issues_count":0,"forks_count":14,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-20T23:22:48.429Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appium.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"appium"}},"created_at":"2015-03-25T18:08:29.000Z","updated_at":"2025-05-20T23:01:22.000Z","dependencies_parsed_at":"2024-01-16T23:30:09.097Z","dependency_job_id":"13177f79-0111-4b18-ac23-0f36408f20be","html_url":"https://github.com/appium/appium-xcode","commit_stats":{"total_commits":215,"total_committers":18,"mean_commits":"11.944444444444445","dds":0.7674418604651163,"last_synced_commit":"54051e6a48a2240349dba3e7bbc926575e2e664d"},"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-xcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-xcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-xcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-xcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appium","download_url":"https://codeload.github.com/appium/appium-xcode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-xcode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259080989,"owners_count":22802404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:00:34.772Z","updated_at":"2026-02-16T09:27:39.505Z","avatar_url":"https://github.com/appium.png","language":"JavaScript","funding_links":["https://opencollective.com/appium"],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"appium-xcode\n===================\n[![NPM version](http://img.shields.io/npm/v/appium-xcode.svg)](https://npmjs.org/package/appium-xcode)\n[![Downloads](http://img.shields.io/npm/dm/appium-xcode.svg)](https://npmjs.org/package/appium-xcode)\n\n[![Release](https://github.com/appium/appium-xcode/actions/workflows/publish.js.yml/badge.svg?branch=master)](https://github.com/appium/appium-xcode/actions/workflows/publish.js.yml)\n\nES7 module for interacting with Xcode and Xcode-related functions.\nUsed by various [Appium](github.com/appium/appium) drivers.\n\nAPI\n===\n\nAll functions are `async`, meaning they return promises which can be awaited via `await`.\n\nMost 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.\n\nSome 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).\n\n### getPath([timeout=15000])\n*memoized*\n\ngets path to Xcode Developer root.\n\n### getVersion([parse=false], [retries], [timeout])\n*memoized*, *retry*\n\nreturns the version of Xcode formatted as a string, for example `6.3.1`, or a version object if `parse` is `true`\n\n### getMaxIOSSDK([num_retries])\n*memoized*, *retry*\n\nreturns the highest IOS SDK version supported by Xcode.\neg: `'8.3'`\n\n### getMaxTVOSSDK([num_retries])\n*memoized*, *retry*\n\nreturns highest tvOS SDK version supported by Xcode.\neg: `'10.1'`\n\nDevelop\n=======\n\n## Test\n\n```\nnpm test\nnpm e2e-test\n```\n\nDebug\n=====\n\nAfter 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.\n\nFor quick debugging you could cd into the node_modules/appium-xcode folder and run `npm install` followed by `npm run build`.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappium%2Fappium-xcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappium%2Fappium-xcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappium%2Fappium-xcode/lists"}