A command-line tool built on top of XcodeProj for managing frameworks and xcframeworks in an Xcode project. This tool helps you automate the process of embedding, signing, and managing frameworks, including detecting duplicates and fixing them.
We often work on projects that share frameworks with common dependencies, which need to be integrated manually for various reasons. Due to this, dependencies can sometimes be duplicated, resulting in duplicated symbols and compilation errors. Additionally, some third-party vendor frameworks need to be set to embed and sign, which can lead to crashes if not configured correctly.
This tool was created to automate these tasks and eliminate the need for manual configuration in Xcode.
Note
This is a work in progress (WIP). Contributions are welcome!
xcode-video.mov
-
Clone the repository:
git clone https://github.com/ezefranca/xcode-framework.git cd xcode-framework-manager
-
Install dependencies: You need to install the required Swift libraries before using this tool.
swift build
-
Build the tool:
swift build -c release
-
Install:
To install the tool globally, use the following command:
cp .build/release/xcode-frameworks /usr/local/bin/xcode-frameworks
This tool provides several subcommands to help you manage the frameworks in your Xcode projects. You can run the tool using the following syntax:
xcode-frameworks <subcommand> [options]
📋 List all embedded frameworks and xcframeworks in the Xcode project.
Usage:
xcode-frameworks list <your-project-path>
🔍 Find and display duplicated frameworks in the Xcode project.
Usage:
xcode-frameworks duplicates <your-project-path>
🔧 Fix duplicated frameworks in the Xcode project by keeping only one instance.
Usage:
xcode-frameworks fix <your-project-path>
🗳️ Update the embed status without signing the specified frameworks in the Xcode project.
Usage:
xcode-frameworks embed <your-project-path> --frameworks <yours frameworks>...
This subcommand allows you to embed frameworks into your Xcode project without signing them.
🔒 Update the embedding status to embed and sign the specified frameworks in the Xcode project.
Usage:
xcode-frameworks embed-sign <your-project-path> --frameworks <frameworks>...
This subcommand allows you to embed frameworks into your Xcode project and sign them.
This project is licensed under the MIT License.