是否可以使用 tuist 对包依赖项进行分组,以实现更好的项目组织?

问题描述 投票:0回答:1

是否可以使用 Tuist 将通常放置在“Packages”组(Xcode 项目中的组或文件夹)中的 SPM 包依赖项组织到子组或子文件夹中?

swift xcode-project tuist
1个回答
0
投票

自 Tuist 4.12.1 起不再适用。 首先让我们来了解一下 Tuist 中使用 Swift 包的两种方式。

  • Vanila 直接在项目中。
let project = Project(name: "You Project Name",
                      packages: [...],
                      targets: [...]

....
  • 使用 Package.swift + Tuist 外部依赖项的组合 - link
// Package.swift file
#if TUIST

import ProjectDescription
import ProjectDescriptionHelpers

let packageSettings = PackageSettings(
    productTypes: // define custom types for products,
    targetSettings: // define custom settings per target per package,
    projectOptions: // define custom options per package,
)

#endif

let package = Package(
    name: "PackageName",
    dependencies: [
.package(url: "https://github.com/facebook/facebook-ios-sdk", .upToNextMajor(from: "17.0.0")),
.package(url: "https://github.com/firebase/firebase-ios-sdk.git", exact: "10.23.1"),
    ]
)

// Project.swift file
let project = Project(name: "You Project Name",
                      targets: [...])
In each target you define an SPM dependency using .external("FirebaseCrashlytics")
....

您正在使用 Tuist 描述软件包的普通用法。建议使用 Package.swift 文件来使用外部(即 SPM) - link.

回答你的问题——不。 (适用于 Tuist 4.12.1)

所有本地包都将位于生成的项目/工作空间中的

Packages
文件夹下。所有外部
Packages
将显示为常规 SPM 产品

© www.soinside.com 2019 - 2024. All rights reserved.