Skip to content

Commands Reference

Kevin Morton edited this page Jun 6, 2026 · 2 revisions

Commands Reference

Table of Contents


setup

Initialize build environment: checkout, workspace, Ruby/Bundler, SPM cache.

Parameter Type Default Description
checkout boolean true Run git checkout
bundle_install boolean true Install Ruby gems
persist_workspace boolean true Persist workspace for downstream jobs
xcode_project string "" Project name for SPM cache key
with_spm boolean false Setup environment for SPM packages
scripts steps [] Additional steps during setup
steps:
  - ios-orb/setup:
      checkout: true
      bundle_install: true
      persist_workspace: true

lane

Run a Fastlane lane.

Parameter Type Default Description
named string Lane name to execute
steps:
  - ios-orb/lane:
      named: test

xcodegen

Install XcodeGen (if missing) and generate the Xcode project.

Parameter Type Default Description
spec string project.yml Path to XcodeGen spec
quiet boolean true Suppress XcodeGen output
steps:
  - ios-orb/xcodegen:
      spec: project.yml
      quiet: true

install_tools

Install Homebrew formulas (only if not already available).

Parameter Type Default Description
tools string xcodegen swiftlint Space-separated formula list
steps:
  - ios-orb/install_tools:
      tools: xcodegen swiftlint xcresultparser

swiftlint

Run SwiftLint with optional strict mode. Installs via Homebrew if missing.

Parameter Type Default Description
strict boolean false Treat warnings as errors
config string "" Path to SwiftLint config
reporter string "" Reporter type (xcode, json, etc.)
steps:
  - ios-orb/swiftlint:
      strict: true
      config: .swiftlint.yml

match_signing

Sync code signing via Fastlane Match. Supports multiple types in a single step.

Parameter Type Default Description
type string appstore Comma-separated match types (development, adhoc, appstore, enterprise)
readonly boolean false Run match in read-only mode
app_identifier string "" Bundle ID (inferred from Matchfile if empty)
steps:
  - ios-orb/match_signing:
      type: "adhoc,appstore"
      readonly: false

brew_install

Install a Homebrew formula with optional caching.

Parameter Type Default Description
formula string Homebrew formula name
reinstall boolean false Force reinstall even if present
with_cache boolean true Cache the install

cache_spm / restore_spm_cache

Cache and restore Swift Package Manager dependencies.

Parameter Type Default Description
xcode_project string "" Project name for cache key
key string auto Custom cache key override
path string .build Path to cache

save_build_artifacts

Store build logs, diagnostics, and test results as CircleCI artifacts.

Parameter Type Default Description
logs_path string ~/Library/Logs/scan Path to scan logs
build_logs_path string ~/Library/Logs/DiagnosticReports/ Path to diagnostic reports
test_output_path string ./fastlane/test_output Path to test output

test_with_qlty

Run tests and upload coverage to Qlty Cloud. This is the v3 successor to the removed test_with_code_climate command. Runs optional pretest steps, restores the SPM cache, executes a Fastlane lane or custom test steps, exports cobertura XML from the xcresult bundle, and publishes via qltysh/qlty-orb.

Parameter Type Default Description
lane string "" Fastlane lane to run
pretest_steps steps [] Steps to run before tests
test_steps steps [] Steps that execute tests (non-Fastlane)
xcode_project string "" Project name for SPM cache key
result_bundle_path string TestResults.xcresult Path to xcresult bundle
coverage_file string coverage.xml Exported cobertura XML path
qlty_tag string "" Optional Qlty coverage tag (e.g. unit, ui)
qlty_skip_errors boolean false Make Qlty upload errors non-fatal
steps:
  - ios-orb/test_with_qlty:
      lane: tests
      xcode_project: MyApp
      result_bundle_path: TestResults.xcresult
      coverage_file: coverage.xml
      qlty_tag: unit
      qlty_skip_errors: false

upload_qlty_coverage

Upload a coverage file to Qlty Cloud via the official qltysh/qlty-orb. Requires the QLTY_COVERAGE_TOKEN environment variable in your CircleCI context (obtain from qlty.sh project settings).

Parameter Type Default Description
file string coverage.xml Path to coverage file
format enum "" Report format: cobertura, lcov, clover, jacoco, simplecov, coverprofile, qlty, or auto-detect
tag string "" Optional coverage report tag
token env_var_name QLTY_COVERAGE_TOKEN Env var holding the Qlty token
skip_errors boolean false Make upload errors non-fatal
steps:
  - ios-orb/upload_qlty_coverage:
      file: coverage.xml
      format: cobertura
      tag: unit
      skip_errors: false

export_coverage

Export code coverage to cobertura-compatible XML. Supports both SPM (llvm-cov) and Xcode (xcresultparser) coverage sources.

Parameter Type Default Description
type enum Coverage source: spm or xcode
result_bundle string TestResults.xcresult Path to xcresult bundle (Xcode only)
steps:
  - ios-orb/export_coverage:
      type: xcode
      result_bundle: TestResults.xcresult

ios-orb v3.0.0

Home


Getting Started

Reference

Guides


Quick Commands

# Check latest published version
circleci orb info kevnm67/ios-orb | grep Latest

# Pack orb source locally
circleci orb pack src/ > orb.yml

# Validate orb
circleci orb validate orb.yml

GitHub · Orb Registry

Clone this wiki locally