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.
← facebookarchive on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.