Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0xced/xcproj

Command line tool for manipulating Xcode project files
https://github.com/0xced/xcproj

xcode xcodeproj

Last synced: 3 months ago
JSON representation

Command line tool for manipulating Xcode project files

Awesome Lists containing this project

README

        

## About

**xcproj** is a command line tool for manipulating Xcode project files. It doesn’t do much yet. It also serves as a testbed for [XCDUndocumentedChecker](https://github.com/0xced/xcproj/blob/develop/Sources/XCDUndocumentedChecker.m).

## Requirements

xcproj works with Xcode 5 and 6. Xcode 4 support has been discontinued.

## Installation

### Homebrew

```
brew install xcproj
```

### Manually

To install the `xcproj` tool in `/usr/local/bin` run the following command, with `sudo` if required:

```
xcodebuild -target xcproj install DSTROOT=/
```

If you want to install `xcproj` in a custom location, e.g. `~/bin`, run the following command:

```
xcodebuild -target xcproj install DSTROOT=/ INSTALL_PATH=~/bin
```

## Usage

```
xcproj [options] [arguments]

Options:
-h, --help Show this help text and exit
-V, --version Show program version and exit
-p, --project Path to an Xcode project (*.xcodeproj file). If not specified, the project in the current working directory is used
-t, --target Name of the target. If not specified, the first target is used

Actions:
* list-targets
List all the targets in the project

* list-headers [All|Public|Project|Private] (default=Public)
List headers from the `Copy Headers` build phase

* read-build-setting
Evaluate a build setting and print its value. If the build setting does not exist, nothing is printed

* write-build-setting
Assign a value to a build setting. If the build setting does not exist, it is added to the target

* add-xcconfig
Add an xcconfig file to the project and base all configurations on it

* add-resources-bundle
Add a bundle to the project and in the `Copy Bundle Resources` build phase

* touch
Rewrite the project file
```

## Limitations

* **xcproj** relies on the DevToolsCore private framework. Although great care has been taken, it might stop working when you upgrade Xcode.

## Contact

Cédric Luthi

- http://github.com/0xced
- http://twitter.com/0xced
- [email protected]