各模块打包说明.md 3.0 KB

各模块打包说明

✅ 所有模块都可以打包为 SDK

Package.swift 中的配置可以看到,所有模块都定义了 .library product,这意味着它们都可以打包为独立的 SDK。

📦 可打包的模块

1. BaseCore - 基础核心 SDK

位置BaseCore/

特点

  • ✅ 不依赖其他模块(只依赖系统框架)
  • ✅ 可以作为独立 SDK 分发
  • ✅ 其他模块的基础依赖

打包命令

cd BaseCore
swift build
swift test

使用场景

  • 作为其他 SDK 的基础依赖
  • 单独提供给需要基础功能的项目

2. BaseCommon - 业务封装 SDK

位置BaseCommon/

特点

  • ✅ 依赖 BaseCore(传递依赖)
  • ✅ 包含业务通用功能(Auth、Version、Network 等)
  • ✅ 可以作为独立 SDK 分发

打包命令

cd BaseCommon
swift build
swift test

使用场景

  • 提供给需要业务通用功能的项目
  • 包含完整的 MVVM 架构支持

3. CapabilityPush - 推送能力 SDK

位置CapabilityPush/

特点

  • ✅ 依赖 BaseCore(传递依赖)
  • ✅ 独立的推送能力
  • 最适合单独打包分发

打包命令

cd CapabilityPush
swift build
swift test

使用场景

  • 单独提供给只需要推送功能的项目
  • 可以作为独立的产品 SDK 分发

🎯 打包方式对比

方式 优点 缺点 适用场景
Swift Package 简单、自动依赖管理 需要 Git 仓库 开发、内部使用
XCFramework 二进制分发、保护源码 需要构建脚本 对外分发
CocoaPods 传统 iOS 开发熟悉 需要维护 podspec 兼容旧项目

📝 快速打包示例

打包 CapabilityPush

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")
]

🔍 验证打包结果

方法 1:检查编译

cd CapabilityPush
swift build
# 如果成功,说明可以打包

方法 2:检查 Product 定义

grep -A 3 "products:" CapabilityPush/Package.swift
# 应该看到 .library 定义

方法 3:测试导入

在其他项目中:

import CapabilityPush  // 如果编译通过,说明打包成功

💡 总结

所有模块都可以打包为 SDK:

  • ✅ BaseCore - 基础核心 SDK
  • ✅ BaseCommon - 业务封装 SDK
  • ✅ CapabilityPush - 推送能力 SDK
  • ✅ 其他能力层 - 都可以打包

推荐打包顺序:

  1. 先打包 BaseCore(基础)
  2. 再打包 BaseCommon(业务封装)
  3. 最后打包能力层(CapabilityPush 等)

打包工具:

  • 使用 build_sdk.sh 脚本快速打包
  • 或手动使用 swift buildswift test