explaingit

facebookarchive/xctool

6,873Objective-C
This is a quick first-pass explanation. The richer sections — use-cases, tech stack, setup, prompts — are still being generated.

TLDR

Xctool is a command-line tool created by Facebook that wraps Apple's built-in xcodebuild to make running iOS and macOS tests easier, particularly in automated build pipelines.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

In plain English

Xctool is a command-line tool created by Facebook that wraps Apple's built-in xcodebuild to make running iOS and macOS tests easier, particularly in automated build pipelines. It was designed to solve specific frustrations with xcodebuild: the default tool produces enormous walls of text even when nothing goes wrong, outputs results in an unstructured format that is hard to parse automatically, and runs all test suites one at a time. The three main improvements xctool brought were cleaner output, structured results, and parallelism. By default, xctool only prints detailed output when a build or test fails, so you can spot the problem without scrolling through thousands of lines. Test results are captured as structured JSON objects, which makes it straightforward to feed results into dashboards or notification systems without writing fragile text parsers. The parallel test runner can split test suites across CPU cores, and Facebook reported two to three times faster test runs by enabling it. The tool accepts nearly all the same arguments as xcodebuild, so switching to it is typically a matter of replacing the command name. You can run all tests, limit to a specific test target, narrow further to a specific class, or drill down to a single test method. You can also exclude tests by name prefix. An important note: xctool's support for building projects (compiling code) is deprecated and does not work with Xcode 8 or later. The testing functionality continued to be supported, but the project itself is archived. Facebook recommends xcpretty (a formatting wrapper around xcodebuild) for simple needs, or their separate xcbuild project for more complex build requirements. The repository is now in the facebookarchive organization, which means it is no longer actively maintained.

Open on GitHub → Explain another repo

← facebookarchive on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.