在 Xcode 中正确配置 Swift Package 依赖关系,让所有模块都能正常打开和使用。
cd /Users/Zhuanz/Documents/code/xindazhou/xdz_ios/xdz
open xdz.xcodeproj
/Users/Zhuanz/Documents/code/xindazhou/xdz_ios/BaseCommon重要:BaseCommon 已经依赖了 BaseCore,所以添加 BaseCommon 后,BaseCore 会自动作为传递依赖被引入,不需要单独添加 BaseCore!
重复步骤 2,但这次选择 CapabilityPush 目录。
重要:CapabilityPush 已经依赖了 BaseCore,所以添加 CapabilityPush 后,BaseCore 也会自动作为传递依赖被引入。
在 xdz/xdz/xdzApp.swift 中添加:
import SwiftUI
import BaseCommon // 直接导入 BaseCommon(会自动包含 BaseCore)
import CapabilityPush // 直接导入 CapabilityPush(会自动包含 BaseCore)
@main
struct xdzApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
注意:
import BaseCore,因为 BaseCommon 和 CapabilityPush 已经包含了import BaseCore(可选)如果编译通过,说明依赖配置成功!
BaseCommon/Sources/BaseCommon/Common/Network/NetworkHelper.swiftimport BaseCoreCapabilityPush/Sources/CapabilityPush/Push/Impl/PushServiceImpl.swiftimport BaseCore现象:添加包时,Xcode 提示找不到 Package.swift
解决方案:
确保所有 Package.swift 文件都在正确的目录中:
BaseCore/Package.swift ✅BaseCommon/Package.swift ✅CapabilityPush/Package.swift ✅检查相对路径是否正确: ```swift // BaseCommon/Package.swift .package(path: "../BaseCore") // ✅ 正确
// CapabilityPush/Package.swift .package(path: "../BaseCore") // ✅ 正确
3. 在 Xcode 中:**File → Packages → Reset Package Caches**
### 问题 2:编译错误 "No such module 'BaseCore'"
**现象**:代码中 `import BaseCore` 报错
**解决方案**:
1. 确保在 Target 的 **"Build Phases"** → **"Link Binary With Libraries"** 中添加了依赖
2. 清理构建:**Product → Clean Build Folder** (Shift+Cmd+K)
3. 重新构建:**Product → Build** (Cmd+B)
4. 如果还不行,删除 DerivedData:
```bash
rm -rf ~/Library/Developer/Xcode/DerivedData
现象:左侧导航栏中,包显示为红色(找不到)
解决方案:
运行以下命令检查配置:
cd /Users/Zhuanz/Documents/code/xindazhou/xdz_ios
./check_dependencies.sh
xdz (业务项目)
├── 依赖 BaseCommon (业务封装)
│ └── 依赖 BaseCore ✅ (传递依赖,自动引入)
└── 依赖 CapabilityPush (推送能力)
└── 依赖 BaseCore ✅ (传递依赖,自动引入)
关键点:
为什么不需要直接依赖 BaseCore?
配置完成后,你可以:
xdz 项目中导入并使用这些模块BaseCore、BaseCommon、CapabilityPush 进行开发CapabilityPush 为 SDK