从 Package.swift 中的配置可以看到,所有模块都定义了 .library product,这意味着它们都可以打包为独立的 SDK。
位置:BaseCore/
特点:
打包命令:
cd BaseCore
swift build
swift test
使用场景:
位置:BaseCommon/
特点:
打包命令:
cd BaseCommon
swift build
swift test
使用场景:
位置:CapabilityPush/
特点:
打包命令:
cd CapabilityPush
swift build
swift test
使用场景:
| 方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Swift Package | 简单、自动依赖管理 | 需要 Git 仓库 | 开发、内部使用 |
| XCFramework | 二进制分发、保护源码 | 需要构建脚本 | 对外分发 |
| CocoaPods | 传统 iOS 开发熟悉 | 需要维护 podspec | 兼容旧项目 |
cd /Users/Zhuanz/Documents/code/xindazhou/xdz_ios
# 使用打包脚本
./build_sdk.sh CapabilityPush 1.0.0
# 或者手动打包
cd CapabilityPush
swift build
swift test
git tag 1.0.0
git push origin 1.0.0
// Package.swift
dependencies: [
.package(url: "https://github.com/your-org/CapabilityPush.git", from: "1.0.0")
]
cd CapabilityPush
swift build
# 如果成功,说明可以打包
grep -A 3 "products:" CapabilityPush/Package.swift
# 应该看到 .library 定义
在其他项目中:
import CapabilityPush // 如果编译通过,说明打包成功
所有模块都可以打包为 SDK:
推荐打包顺序:
打包工具:
build_sdk.sh 脚本快速打包swift build 和 swift test