У меня есть следующий 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
цель.
Вот моя структура кода:
Здесь Demo.swift
находится в IndependentTarget
, и у меня есть доступ к SwiftyJSON
framework.
Как определить цель IndependentTarget
, чтобы она не имела доступа к зависимостям в другой цели?
Обновление: я заметил, что впервые при запуске swift build
выдает ошибку, но после этого работает нормально.
Вот скриншот: