打包 XCFramework 的方法
XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。
使用 Xcode 命令行工具打包
通过 xcodebuild
命令可以打包 XCFramework。确保项目已经配置好需要支持的平台和架构。
xcodebuild -create-xcframework \
-framework path/to/ios/framework.framework \
-framework path/to/simulator/framework.framework \
-output path/to/output/MyFramework.xcframework
配置多平台支持
XCFramework 可以包含多个平台的二进制文件,例如 iOS 和 macOS。需要在打包时指定每个平台的框架路径。
xcodebuild -create-xcframework \
-framework path/to/ios/framework.framework \
-framework path/to/macos/framework.framework \
-output path/to/output/MyFramework.xcframework
清理构建产物
在打包之前,建议清理之前的构建产物,避免冲突。
xcodebuild clean -project MyFramework.xcodeproj -scheme MyFramework
构建 Release 版本的框架
确保打包的是 Release 版本,以获得优化后的二进制文件。
xcodebuild archive \
-project MyFramework.xcodeproj \
-scheme MyFramework \
-configuration Release \
-destination "generic/platform=iOS" \
-archivePath path/to/ios.xcarchive \
SKIP_INSTALL=NO
xcodebuild archive \
-project MyFramework.xcodeproj \
-scheme MyFramework \
-configuration Release \
-destination "generic/platform=iOS Simulator" \
-archivePath path/to/simulator.xcarchive \
SKIP_INSTALL=NO
验证 XCFramework
打包完成后,可以使用 lipo
工具检查二进制文件支持的架构。
lipo -info path/to/MyFramework.xcframework/ios-arm64/MyFramework.framework/MyFramework
集成到项目中
将生成的 XCFramework 拖入 Xcode 项目中,并在 General
-> Frameworks, Libraries, and Embedded Content
中添加。
使用 Swift Package Manager 分发
XCFramework 也可以用于 Swift Package Manager。在 Package.swift
中配置二进制目标。
.target(
name: "MyFramework",
dependencies: [],
path: "path/to/MyFramework.xcframework"
)
注意事项
- 确保所有平台的框架版本一致。
- 检查签名和证书配置,避免运行时出现问题。
- 在打包前测试每个平台的框架是否正常工作。
通过以上方法,可以高效地打包和分发 XCFramework,支持多平台和架构。