# kuben-appium-xcode

> Interact with Xcode

Latest version **3.7.2** (published 2018-12-17) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install kuben-appium-xcode
pnpm add kuben-appium-xcode
yarn add kuben-appium-xcode
bun add kuben-appium-xcode
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 3.7.2 |
| Published | 2018-12-17 |
| First published | 2018-12-17 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 72.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 18 |
| Author | appium |
| Maintainers | kuben |
| Keywords | appium, ios, xcode |

## Links

- npm: https://www.npmjs.com/package/kuben-appium-xcode
- Repository: https://github.com/appium/appium-xcode
- Homepage: https://github.com/appium/appium-xcode#readme
- Issues: https://github.com/appium/appium-xcode/issues
- npm.io page: https://npm.io/package/kuben-appium-xcode

## Dependencies (8)

- [plist](https://npm.io/package/plist.md) ^3.0.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.4
- [semver](https://npm.io/package/semver.md) ^5.5.0
- [asyncbox](https://npm.io/package/asyncbox.md) ^2.3.0
- [teen_process](https://npm.io/package/teen_process.md) ^1.3.0
- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.0.0
- [appium-support](https://npm.io/package/appium-support.md) ^2.4.0
- [source-map-support](https://npm.io/package/source-map-support.md) ^0.5.5

## Recent versions

- 3.7.2 (latest) — 2018-12-17

## README

appium-xcode
===================
[![NPM version](http://img.shields.io/npm/v/appium-xcode.svg)](https://npmjs.org/package/appium-xcode)
[![Downloads](http://img.shields.io/npm/dm/appium-xcode.svg)](https://npmjs.org/package/appium-xcode)
[![Dependency Status](https://david-dm.org/appium/appium-xcode.svg)](https://david-dm.org/appium/appium-xcode)
[![devDependency Status](https://david-dm.org/appium/appium-xcode/dev-status.svg)](https://david-dm.org/appium/appium-xcode#info=devDependencies)

[![Build Status](https://travis-ci.org/appium/appium-xcode.svg?branch=master)](https://travis-ci.org/appium/appium-xcode)
[![Coverage Status](https://coveralls.io/repos/appium/appium-xcode/badge.svg)](https://coveralls.io/r/appium/appium-xcode)
[![Greenkeeper badge](https://badges.greenkeeper.io/appium/appium-xcode.svg)](https://greenkeeper.io/)

ES7 module for interacting with Xcode and Xcode-related functions.
Used by [Appium](github.com/appium/appium)

*Note*: Issue tracking for this repo has been disabled. Please use the [main Appium issue tracker](https://github.com/appium/appium/issues) instead.

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

To clear the memoized values, call `clearInternalCache`

### getPath()
*memoized*

gets path to Xcode

### getVersion([num_retries])
*memoized*, *retry*

returns the version of Xcode. Returns strings like `'6.3.1'`

### getAutomationTraceTemplatePath([num_retries])
*memoized, *retry*

returns a path to the default AutomationTraceTemplate

### getAutomationTraceTemplatePathWithoutRetry()

same as `getAutomationTraceTemplatePath()` but without retry or memoization.

### getMaxIOSSDK([num_retries])
*memoized*, *retry*

returns largest IOS SDK version supported by Xcode.
eg: `'8.3'`

### getMaxIOSSDKWithoutRetry()

same as `getMaxIOSDK()` but without retry or memoization

### getMaxTVOSSDK([num_retries])
*memoized*, *retry*

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

### getMaxTVOSSDKWithoutRetry()

same as `getMaxTVOSSDK()` but without retry or memoization

### clearInternalCache()
clears the internal cache used for memoizing functions.

Develop
=======

## Watch

```
npm run watch
```

## Test

```
npm 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 `gulp transpile`.

---
_Source: https://npm.io/package/kuben-appium-xcode · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
