Tomacco

Docs Operation reference apple operations

apple operations#

10 operations. Generated from assets/operations.json; all areas.

On this page (10)

apple.devices#

Apple devices on the Mac

Read Simulator and connected physical-device inventories using Xcode on a configured SSH Mac.

Annotations: read-only, idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
tomaccoctl call apple.devices '{"remote":"<remote>"}'

apple.project#

Read Xcode project

Read targets, schemes and configurations from an Xcode project on a configured SSH Mac.

Annotations: read-only, idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
projectstringyes
tomaccoctl call apple.project '{"remote":"<remote>","project":"<project>"}'

apple.build#

Build native iOS app

Synchronize an optional local project, then build the selected Xcode scheme on the Mac.

Annotations: writes, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
pathstringOptional local project to sync before execution
projectstringyes
schemestringyesnon-empty
configurationstring"debug"one of debug, release
destinationstringyes
team_idstring
allow_provisioning_updatesbooleanfalse
timeoutinteger360030 to 86400
tomaccoctl call apple.build '{"remote":"<remote>","project":"<project>","scheme":"<scheme>","destination":"<destination>"}'

apple.test#

Run XCTest / XCUITest

Run native XCTest/XCUITest and fetch the result bundle even when tests fail.

Annotations: writes, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
pathstringOptional local project to sync before execution
projectstringyes
schemestringyesnon-empty
configurationstring"debug"one of debug, release
destinationstringyes
team_idstring
allow_provisioning_updatesbooleanfalse
timeoutinteger360030 to 86400
only_testingarray of stringup to 100 items
tomaccoctl call apple.test '{"remote":"<remote>","project":"<project>","scheme":"<scheme>","destination":"<destination>"}'

apple.archive#

Create iOS archive

Archive a native Xcode application and return the exact remote archive path.

Annotations: writes, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
pathstringOptional local project to sync before execution
projectstringyes
schemestringyesnon-empty
configurationstring"release"one of debug, release
destinationstring
team_idstring
allow_provisioning_updatesbooleanfalse
timeoutinteger360030 to 86400
tomaccoctl call apple.archive '{"remote":"<remote>","project":"<project>","scheme":"<scheme>"}'

apple.export#

Export and fetch IPA

Export an existing xcarchive with a supplied ExportOptions.plist and download resulting IPAs.

Annotations: writes, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
archivestringyes
export_optionsstringyes
allow_provisioning_updatesbooleanfalse
timeoutinteger360030 to 86400
tomaccoctl call apple.export '{"remote":"<remote>","archive":"<archive>","export_options":"<export_options>"}'

apple.simulator#

Control Apple Simulator

Boot, shut down, install, launch, terminate, open a URL or capture an actual Apple Simulator on the Mac.

Annotations: destructive, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
devicestringyes
actionstringyesone of boot, shutdown, install, launch, terminate, openurl, screenshot
appstring
bundle_idstring
urlstring
tomaccoctl call apple.simulator '{"remote":"<remote>","device":"<device>","action":"boot"}'

apple.device#

Control iPhone on the Mac

Install or launch a native app or terminate a process on a physical iPhone using devicectl.

Annotations: destructive, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
devicestringyes
actionstringyesone of install, launch, terminate
appstring
bundle_idstring
pidinteger1 to 2147483647
tomaccoctl call apple.device '{"remote":"<remote>","device":"<device>","action":"install"}'

apple.profile#

Instruments recording

Record an Instruments template against a process using Xcode and download the trace plus its table of contents.

Annotations: writes, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
devicestringyes
processstringyesnon-empty
templatestring"Time Profiler"
secondsinteger101 to 600
tomaccoctl call apple.profile '{"remote":"<remote>","device":"<device>","process":"<process>"}'

apple.store#

Upload App Store build

Validate or upload an IPA with altool and an App Store Connect API key already present on the Mac.

Annotations: writes, not idempotent, open world.

ArgumentTypeRequiredDefaultDetails
remotestringyesnon-empty
ipastringyes
actionstring"validate"one of validate, upload
key_idstringyes
issuerstringyes
key_directorystringyes
tomaccoctl call apple.store '{"remote":"<remote>","ipa":"<ipa>","key_id":"<key_id>","issuer":"<issuer>","key_directory":"<key_directory>"}'

View this page as Markdown on GitHub