Swiftpack.co - Package - jhauberg/xcdoctor


A command-line tool that helps diagnosing your Xcode project for common defects.

| Latest release (0.5.1) | Download the latest stable release. | | :-------------------------------------------------------------------------------- | :-------------------------------------------------- | | Issue tracker | Contribute your bugs, comments or feature requests. |


| Dependency | Description | Version | License | | :---------------------------------------------------------------------- | :-------------------------------------------- | :------ | :----------------- | | swift-argument-parser | Describe and manage a command-line interface. | 0.3.0 | Apache License 2.0 |


Requires Swift 5+

First, build the program:

$ swift build --configuration release

Then, copy the executable to /usr/local/bin (or add it to $PATH):

$ cd .build/release
$ cp -f xcdoctor /usr/local/bin/xcdoctor


$ mint install jhauberg/xcdoctor


If xcdoctor was installed as expected, you can now run xcdoctor:

$ xcdoctor --help
USAGE: xcdoctor <xcodeproj> [--verbose]

  <xcodeproj>             A path to an Xcode project file.

                          You can put in a path to a directory to automatically
                          look for a project at that location, or "." to look
                          for a project in the current working directory.

  -v, --verbose           Show diagnostic messages.
  -h, --help              Show help information.
  --version               Show the version.

At this point, you can now run xcdoctor and point it directly to your Xcode project to initiate an examination:

$ xcdoctor ~/path/to/my/Project.xcodeproj

Add the --verbose option to see an indication of progress during examination.


The purpose of an examination is to discover and identify defects in an Xcode project.

This process includes resolving and validating file/group references, determining unused resources and more. For a complete list of checks, see Diagnosis.swift.

No files are touched during an examination; the user must manually take action on any reported defects.


If, during an examination, a defect is discovered, xcdoctor will form a diagnosis for each defect, including advice on how to treat it.

The diagnoses are reported in reverse order of importance, such that the last diagnosis is more important than the first. This is important to note, as treating one defect could have a cascading effect on other diagnoses (sometimes even solving them).

This is a Free and Open-Source Software project released under the MIT License.


Stars: 32


Used By

Total: 0