一、XCFramework简介
是苹果官方推荐和支持的,需要Xcode11以上支持,是19年提出framework更先进格式
二、开始制作
首先还是和创建framework一样先创建一个工程

QQ20220322-102814.png
然后更改一下配置
Edit Scheme->Run->Build Configuration改成ReleaseTARGETS->Build Settings->Build Active Architecture Only设置为NOTARGETS->Build Settings->Excluded Architectures->Release添加Any iOS SimulatorSDK值为arm64(排除模拟器编译生成arm64架构)
编写脚本

QQ20220322-102911.png
xcodebuild archive -project 'ZKTestSDK.xcodeproj' \
-scheme 'ZKTestSDK' \
-configuration Release \
-destination 'generic/platform=iOS Simulator' \
-archivePath '../archives/ZKTestSDK.framework-iphonesimulator.xcarchive' \
SKIP_INSTALL=NO
xcodebuild archive -project 'ZKTestSDK.xcodeproj' \
-scheme 'ZKTestSDK' \
-configuration Release \
-destination 'generic/platform=iOS' \
-archivePath '../archives/ZKTestSDK.framework-iphoneos.xcarchive' \
SKIP_INSTALL=NO
把build.sh脚本放到工程目录下,打开终端cd 到工程目录,执行脚本成功后会生成2个文件(一个真机的一个模拟器的)

QQ20220322-103138.png
使用命令合成真机和模拟器的framework 创建一个用于生成.xcframework的文件夹,命令行cd进去输入下面命令
xcodebuild -create-xcframework \
-framework '../archives/ZKTestSDK.framework-iphoneos.xcarchive/Products/Library/Frameworks/ZKTestSDK.framework' \
-framework '../archives/ZKTestSDK.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/ZKTestSDK.framework' \
-output 'ZKTestSDK.xcframework'
生成文件

QQ20220322-140011@2x.png
三、制作完成
将制作好的xcframework拖入并使用

QQ20220322-140410.png

QQ20220322-140500.png