A command-line tool that reorganizes your Xcode project folder to match your Xcode groups.
Installation
$ gem install synx
WARNING: Make sure that your project is backed up through source control before doing anything
Execute the command on your project to have it reorganize the files on the file system:
$ synx path/to/my/project.xcodeproj
It may have confused cocoapods. Pod install, if you use them:
$ pod install
You're good to go!
Advanced
Synx supports the following options:
--prune, -p remove source files and image resources that are not referenced by the the xcode project --no-color removes all color from the output --no-default-exclusions doesn't use the default exclusions of /Libraries, /Frameworks, and /Products --quiet, -q silence all output --exclusion, -e EXCLUSION ignore an Xcode group while syncing
OCMock, for example, could have done:
$ synx -p -e "/OCMock/Core Mocks" -e /OCMockTests Source/OCMock.xcodeproj/
if they wanted to not sync the /OCMock/Core Mocks
and /OCMockTests
groups, and also remove ( -p
) any image/source files found by synx that weren't ever referenced by any groups in Xcode.
Contributing
We'd love to see your ideas for improving this library! The best way to contribute is by submitting a pull request. We'll do our best to respond to your patch as soon as possible. You can also submit anew Github issue if you find bugs or have questions.
Please make sure to follow our general coding style and add test coverage for new features!