Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ezefranca/xcode-frameworks
🖥️ A command line tool for managing frameworks and xcframeworks in an Xcode project.
https://github.com/ezefranca/xcode-frameworks
swift xcframework xcframeworks xcode
Last synced: 15 days ago
JSON representation
🖥️ A command line tool for managing frameworks and xcframeworks in an Xcode project.
- Host: GitHub
- URL: https://github.com/ezefranca/xcode-frameworks
- Owner: ezefranca
- License: mit
- Created: 2024-08-26T14:09:11.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-27T10:09:48.000Z (4 months ago)
- Last Synced: 2024-08-27T16:46:36.480Z (4 months ago)
- Topics: swift, xcframework, xcframeworks, xcode
- Language: Swift
- Homepage:
- Size: 30.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# xcode-frameworks
[![Swift Build and Release](https://github.com/ezefranca/xcode-frameworks/actions/workflows/swift.yml/badge.svg)](https://github.com/ezefranca/xcode-frameworks/actions/workflows/swift.yml)A command-line tool built on top of [XcodeProj](https://github.com/tuist/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.
## Motivation
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!https://github.com/user-attachments/assets/54fcabaf-1712-4577-a21f-1a2e511a4044
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Subcommands](#subcommands)
- [list](#list)
- [duplicates](#duplicates)
- [fix](#fix)
- [embed](#embed)
- [embed-sign](#embed-sign)
- [License](#license)## Installation
1. **Clone the repository**:
```bash
git clone https://github.com/ezefranca/xcode-framework.git
cd xcode-framework-manager
```2. **Install dependencies**:
You need to install the required Swift libraries before using this tool.```bash
swift build
```3. **Build the tool**:
```bash
swift build -c release
```4. **Install**:
To install the tool globally, use the following command:
```bash
cp .build/release/xcode-frameworks /usr/local/bin/xcode-frameworks
```## Usage
This tool provides several subcommands to help you manage the frameworks in your Xcode projects. You can run the tool using the following syntax:
```bash
xcode-frameworks [options]
```## Subcommands
### list
📋 **List all embedded frameworks and xcframeworks in the Xcode project.**
**Usage**:
```bash
xcode-frameworks list
```### duplicates
🔍 **Find and display duplicated frameworks in the Xcode project.**
**Usage**:
```bash
xcode-frameworks duplicates
```### fix
🔧 **Fix duplicated frameworks in the Xcode project by keeping only one instance.**
**Usage**:
```bash
xcode-frameworks fix
```### embed
🗳️ **Update the embed status without signing the specified frameworks in the Xcode project.**
**Usage**:
```bash
xcode-frameworks embed --frameworks ...
```This subcommand allows you to embed frameworks into your Xcode project without signing them.
### embed-sign
🔒 **Update the embedding status to embed and sign the specified frameworks in the Xcode project.**
**Usage**:
```bash
xcode-frameworks embed-sign --frameworks ...
```This subcommand allows you to embed frameworks into your Xcode project and sign them.
## License
This project is licensed under the MIT License.