How to use Swift package manager to manage your own frameworks & 3rd party binary frameworks dependency
- 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
xcodebuild archive \
-scheme DemoFramework \
-destination "generic/platform=iOS" \
-archivePath ../output/DemoFramework \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild archive \
-scheme DemoFramework \
-destination "generic/platform=iOS Simulator" \
-archivePath ../output/DemoFramework-Sim \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework \
-framework ./DemoFramework.xcarchive/Products/Library/Frameworks/DemoFramework.framework \
-framework ./DemoFramework-Sim.xcarchive/Products/Library/Frameworks/DemoFramework.framework \
-output ./DemoFramework.xcframework
Using create_xcframework plug-in
Fastlane create_xcframework plug-in
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