Compiles SPM packages to XCFrameworks

Overview

spm-to-xcframework

What's it?

This little tool creates xcframework from SPM packages.

Install

Just pull the package and build from the source with this command: swift build -c release. Then you will find it in .build/release folder. You can download a version from releases page too.

How to use?

To create xcframework for a package run

./spm-to-xcframework YourPackageName --path path_to_your_package --output path_to_output

This will compile and create xcframework from YourPackage and its dependencies. XCFrameworks can be found at path_to_output/Build/xcframeworks folder.

--path: represents the path to spm package. If you omit this current directory is taken. --output: represents the output path where xcframeworks will be created. If omitted current directory is taken. --enable-library-evolution: This option enables library evolution for xcframeworks. With this they can be used with future swift compilers. --platforms ios simulator: Specifies which platforms will be supported by xcframeworks. For now only iphone and iphone simulator supported.

Limitations

For now only the packages that has swift code supported. Binary packages and objective-c packages are not supported.

You might also like...
A Swift SPM framework for running and managing Lua code from Swift

LuaKit A Swift Package for running and managing Lua code from Swift. Documentation For documentation, add this package as Swift Package Dependency, an

SecretSquirrel: A Demonstration of releasing Closed Source libraries privately via SPM
SecretSquirrel: A Demonstration of releasing Closed Source libraries privately via SPM

SecretSquirrel: A Demonstration of releasing Closed Source libraries privately via SPM. A demo repository that showcases how to properly vend a closed

Firebase xcframework integration with SPM
Firebase xcframework integration with SPM

Firebase xcframework integration with SPM A small mirror for https://github.com/firebase/firebase-ios-sdk, to add support for using their binary depen

Swiftlint, SwiftGen and Sourcery for your SPM package

BuildSystemPlugins This plugin assumes you have the same architecture proposed in here as a base. As an example for this implementation you can check

SPM-native private framework bindings

Paris SPM-powered SDK for working with private frameworks. Help me! Currently, using Paris is a bit convoluted. Due to a limitation set by SPM, Paris

A package manager that installs and runs executable Swift packages

Mint 🌱 A package manager that installs and runs Swift command line tool packages. $ mint run realm/[email protected] This would install and run SwiftL

Homebrew for Swift packages

Swiftbrew A package manager that installs prebuilt Swift command line tool packages, or Homebrew for Swift packages. Installation Homebrew brew instal

Search jailbreak packages using the Tweakio API, Parcility API or Canister API straight from Cydia, Installer, Sileo and Zebra!

Tweakio Search packages globally directly from your favourite package manager! Works with Cydia, Installer, Zebra and Sileo! How does it work The twea

Swift-DocC is a documentation compiler for Swift frameworks and packages aimed at making it easy to write and publish great developer documentation.

Swift-DocC is a documentation compiler for Swift frameworks and packages aimed at making it easy to write and publish great developer docum

This repo shows how to setup and use GitHub Actions as a CI for Swift Packages
This repo shows how to setup and use GitHub Actions as a CI for Swift Packages

GACalc This repo shows how to setup and use GitHub Actions as a CI for Swift Packages. Available environments on GitHib List of the all available envi

This repo shows how to set up and use GitHub Actions as a CI for Swift Packages
This repo shows how to set up and use GitHub Actions as a CI for Swift Packages

SwiftPackageWithGithubActionsAsCI This repo shows how to set up and use GitHub Actions as a CI for Swift Packages. Available environments on GitHib Li

Create macOS apps with Swift packages instead of Xcode projects

Swift Bundler A Swift Package Manager wrapper that allows the creation of MacOS apps with Swift packages instead of Xcode projects. My motivation is t

A software bill of materials (SBoM) generator for Swift packages

Swift Package SBoM A software bill of materials (SBoM) generator for Swift packages. Run this command to print a JSON representation of a CycloneDX SB

Commonly available global error type packages

ErrorKit 일반적으로 사용 할 수 있는 전역 오류 타입 패키지. Requirements Xcode 13.2.1+ Swift 5.5+ Ins

A set of libraries used for parsing representations of Swift Packages similar to how SwiftPM itself works

A set of libraries used for parsing representations of Swift Packages similar to how SwiftPM itself works, but also supporting Xcode specific features (such as Swift Playground Apps).

A script to fetch packages via Github search and diff them against SPI

spi-package-importer importer is a command line utility with three subcommands: fetch package lists from Github via search and save them to JSON files

Easily add swift packages from the command line

swift-add Easily add Swift packages from the command line! Note: This is a work-in-progress. Somethings may not work. Please file issues if you run in

The Swift Package Index is the place to find Swift packages!
The Swift Package Index is the place to find Swift packages!

The Swift Package Index helps you make better decisions about the dependencies you use in your apps. The Swift Package Index is a search engine for pa

Write Emacs packages in Swift!

EmacsSwiftModule A Swift library to write Emacs plugins in Swift! Overview Emacs Swift module provides a convenient API for writing dynamic modules fo

Comments
Owner
Mustafa Yusuf
iOS Developer @trendyol
Mustafa Yusuf
Sonic language: Heavily inspired by Swift, but compiles to C so you can use it anywhere.

Sonic Sonic programming language: Heavily inspired by Swift, but compiles to C so you can use it anywhere. Brought to you by Chris Hulbert and Andres

Sonic Language 27 Apr 8, 2022
A cli program written in swift (with async/await) that removes the unnecessary parts of xcframeworks.

xctrim A cli program written in swift (with async/await) that removes the unnecessary parts of xcframeworks. Usecase Say you downloaded firebase sdk a

Mustafa Yusuf 32 Jul 18, 2022
macOS utility for converting fat-frameworks to SPM-compatible XCFramework with arm64-simulator support

xcframework-maker macOS utility for converting fat-frameworks to SPM-compatible XCFramework with arm64-simulator support. ?? Description make-xcframew

Dariusz Rybicki 312 Dec 22, 2022
MeCab Demo for iOS 15 and SPM

MeCab Demo for iOS 15 and SPM Sample project for MeCab, a Japanese tokenizer/morphological analyzer. Updated for iOS 15 and SPM. Successor to landonep

Landon Epps 1 Jun 10, 2022
A command-line tool to generate a JSON-list of all used SPM-dependencies of an Xcode-project.

SwiftPackageList A command-line tool to generate a JSON-list of all used SPM-dependencies of an Xcode-project. This includes all the Package.resolved

Felix Herrmann 14 Jan 8, 2023
AutoLayout Micro DSL SPM from Chris Eidhof's article

EasyAutoLayout Intro EasyAutoLayout is a small framework built using the ideas presented in the article called Autolayout Micro DSL by Chris Eidhof. I

Alexandre Garrefa 0 Nov 28, 2021
Enzyme is a spm package for the make easier development on iOS

Enzyme Enzyme is a spm package for the make easier development on iOS. Installation For the installation you just need to add the url of the project t

Ebubekir 2 Jan 20, 2022
WholesomeExtensions - A SPM package that provides some extensions that I like to use

WholesomeExtensions This package includes some extensions that I like to use. Yo

Fırat Yenidünya 2 Dec 30, 2022
A swift package(SPM) with iOS UI component that loads and displays images from remote urls or local assets and displays in a slide-show form with auto scroll feature.

MDBannersView A swift package with an iOS UI component that loads and displays images from remote urls, local assets and displays in a slide-show form

Madhav Deva 2 Feb 5, 2022