首先,我有一个包含 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"]
)
]
)
我想找到某种方式将正确的库(自动或使用构建脚本手动)链接到每个配置。