Swiftpack.co - Package - jeffctown/xcframework

xcframework

Swift Version GitHub release GitHub license

xcframework is a tool to create XCFrameworks.

Installation

Using a pre-built package:

You can install xcframework by downloading xcframework.pkg from the latest GitHub release and running it.

Installing from source:

You can also install from source by cloning this project and running make install (Xcode 11.0 beta 1 or later). Note: Running make install requires sudo permission to install the final executable.

Compiling from source:

You can build from source and use the executable without installation if you prefer to. Run make installables to output the final executable to ./.build/release/xcframework. Feel free to use or copy the executable how you like.

Quick Start

  • Create an XCFramework including a framework with iOS, tvOS, and watchOS:
xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS --tvos PMLog_TvOS --watchos PMLog_WatchOS

Usage

Help

$ xcframework help
Available commands:

   build     Build an XCFramework
   help      Display general or command-specific help
   version   Display the current version of xcframework

Build

Build with Verbose Logging Enabled

xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS --tvos PMLog_TvOS --watchos PMLog_WatchOS --verbose

Build with Output Directory Specified

xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS --tvos PMLog_TvOS --watchos PMLog_WatchOS --output ./output

Build with Build Directory Specified

xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS --tvos PMLog_TvOS --watchos PMLog_WatchOS --build ./build

Build with Extra xcodebuild Arguments

Any arguments at the end of your command will be passed along to xcodebuild during archive.

xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS DEBUG=1 PERFORM_MAGIC=0

Known Issues

If you need to pass an xcodebuild argument that begins with a -, like -configuration Release, you will need to put a -- before it. -- tells this program (or tells Commandant) to stop looking for named arguments.

Without --:

$ xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS -configuration Release
Unrecognized arguments: -configurat

With --:

xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS -- -configuration Release
xcframework build --project PMLog/PMLog.xcodeproj --name PMLog --ios PMLog_iOS -- -enableAddressSanitizer YES

License

xcframework is released under the MIT license.

Github

link
Stars: 9
Help us keep the lights on

Dependencies

Used By

Total: 0

Releases

0.2.2 - Jun 8, 2019

0.2.1 - Jun 8, 2019

0.2.0 - Jun 8, 2019