Skip to content

daviscdev/SwiftPackageDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How to use Swift package manager to manage your own frameworks & 3rd party binary frameworks dependency

Project Overview

Project Overview

  • DemoFramework:Custom framework project to build our own framework (Use fastlane to build XCFramework)
  • DemoFrameworkPackage:Custom Swift Package to import DemoFramework and 3rd party frameworks (boost.xcframework for example)
  • DemoPackage:Custom Swift Package to manage multiple dependency
  • DemoApp:App project to import one single DemoPackage, it will import all dependency automatically

How to build XCFramework

How to build XCFramework

Using xcodebuild

Build framework for iOS arm64

xcodebuild archive \
-scheme DemoFramework \
-destination "generic/platform=iOS" \
-archivePath ../output/DemoFramework \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES

Build framework for iOS Simulator arm64 & x86_64

xcodebuild archive \
-scheme DemoFramework \
-destination "generic/platform=iOS Simulator" \
-archivePath ../output/DemoFramework-Sim \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES

Create XCFramwork

xcodebuild -create-xcframework \
-framework ./DemoFramework.xcarchive/Products/Library/Frameworks/DemoFramework.framework \
-framework ./DemoFramework-Sim.xcarchive/Products/Library/Frameworks/DemoFramework.framework \
-output ./DemoFramework.xcframework

Using Fastlane

Setup Fastlane

Using create_xcframework plug-in

Fastlane create_xcframework plug-in

How to use Swift package

A Step by Step Guide on how to Create a XCFramework and Distribute it as a Swift package

A Practical Approach on Using Swift Package Manager in Xcode

Distributing Binary Frameworks as Swift Packages

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages