A command-line tool that reorganizes your Xcode project folder structure to match your Xcode groups.
Synx is a command-line tool that automatically reorganizes the file system structure of an Xcode project to match the logical groups defined within the Xcode project file. It solves the problem of disorganized project directories that don't reflect the intended structure, making navigation and maintenance easier for developers.
iOS and macOS developers working with Xcode projects who want to maintain a clean, organized file structure that matches their project's group organization.
Developers choose Synx because it automates a tedious manual process, ensures consistency between Xcode's interface and the filesystem, and includes features like pruning unreferenced files and custom exclusions for flexible project management.
A command-line tool that reorganizes your Xcode project folder to match your Xcode groups
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Reorganizes the filesystem to exactly match Xcode group structures automatically, as demonstrated in the before/after GIF and images in the README, eliminating manual drudgery.
Includes a --prune option to remove source and image files not referenced by any Xcode group, helping to declutter projects and improve maintainability.
Allows custom exclusions for specific groups like libraries or tests using the -e flag, providing fine-grained control over what gets synced, as shown in the OCMock example.
Offers clear guidance to re-run 'pod install' after syncing, addressing common integration issues and ensuring dependency management remains intact.
The README's prominent warning to back up projects indicates that improper use can lead to lost files, broken references, or confused build tools like CocoaPods, requiring manual fixes.
Exclusively tied to the Xcode ecosystem, making it useless for cross-platform projects or newer tools like Swift Package Manager without additional work.
Changing file paths can break existing scripts, CI/CD pipelines, or other tools that rely on static paths, adding extra steps and potential errors post-sync.