Skip to content

Xcode related utilities. Get version number and path to executable.

License

Notifications You must be signed in to change notification settings

iondrive/appium-xcode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

appium-xcode

NPM version Downloads Dependency Status devDependency Status

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

Build Status Coverage Status 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

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.

About

Xcode related utilities. Get version number and path to executable.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%