Swift Package Manager:Target可以访问其他Target的依赖项

时间:2019-01-09 11:51:05

标签: swift dependency-management swift-package-manager

我有以下Package.swift文件:

import PackageDescription

let package = Package(
    name: "MultiTargetTest",
    products: [
        .executable(
            name: "MultiTargetTest",
            targets: ["MultiTargetTest"]),
    ],
    dependencies: [
        .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0")
    ],
    targets: [
        .target(
            name: "MultiTargetTest",
            dependencies: ["SwiftyJSON", "IndependentTarget"]),
        .target(
            name: "IndependentTarget",
            dependencies: []),
        .testTarget(
            name: "MultiTargetTestTests",
            dependencies: ["MultiTargetTest"]),
    ]
)

这里我不希望对IndependentTarget目标有任何依赖性,但是实际上,我可以在代码中毫无问题地将SwiftyJSON导入IndependentTarget目标中。

这是我的代码结构:

enter image description here

Demo.swiftIndependentTarget中,我可以访问SwiftyJSON框架。

我应该如何定义目标IndependentTarget,以使其不应访问其他目标中的依赖项?

  

更新:我注意到我第一次运行swift build时出现错误,但之后运行正常。

以下是屏幕截图:

enter image description here

0 个答案:

没有答案