首先,我有一个具有 3 个配置的项目:DEV、PRE 和 PRO,并且只有一个目标。其次,我将业务逻辑放在一个单独的模块中。该模块包含一些模拟服务器响应的文件。目标是这个文件只能插入 DEV。
现在我认为根据配置添加 SPM 是不可能的。我找到的解决方案将在 SPM 中创建两个目标,一个带有测试文件,另一个没有测试文件。之后我需要在主项目中创建两个目标,但我不喜欢这个想法。
即Package.swift:
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "MyLibrary",
platforms: [
.iOS(.v11)
],
products: [
.library(name: "MyLibrary", targets: ["MyLibrary"]),
.library(name: "MyLibrary Dev", targets: ["MyLibraryDev"]),
],
dependencies: [
// some external dependencies
],
targets: [
.target(
name: "MyLibrary",
dependencies: []
),
.target(
name: "MyLibraryDev",
dependencies: [
"MyLibrary",
],
resources: [.process("Resources/Testing")]
),
.testTarget(
name: "MyLibraryTests",
dependencies: ["MyLibrary", "MyLibraryDev"]
)
]
)
我想找到某种方法将正确的库链接(自动或使用构建脚本手动)到每个配置。