Я создал локальный пакет в Xcode с помощью «Файл -> Новый -> Пакет» и назвал его «BaseTypeExtension» (см. изображение). Пока все хорошо, я могу использовать этот пакет в других своих проектах Xcode, как и ожидалось (с помощью «Файл -> добавить зависимости пакета... -> добавить локальный...»).
Затем я создал еще один локальный пакет (снова с помощью «Файл -> Новый -> Пакет)», но этот пакет должен зависеть от первого пакета BaseTypeExtensions. Но когда я пытаюсь добавить зависимость с помощью «Файл -> Добавить зависимости пакета...», к моему удивлению, опция «Добавить локальный...» больше не доступна.
Может ли кто-нибудь помочь?
Я хочу реализовать такую зависимость вложенного пакета, но только локально (удаленный репозиторий, например, на GitHub, в данный момент для меня не имеет смысла, я не хочу делиться кодом с другими, я просто хочу локально модулировать свой код с помощью Swift Package Менеджер.
Любая подсказка, обходной путь, ссылка... приветствуются. Заранее спасибо.





Что ж, я наконец нашел решение для вложенных локальных пакетов. Интересно, но мне больше помог
Но настоящую помощь пришел с этого сайта: https://theswiftdev.com/the-swift-package-manifest-file/
Спасибо Тибору Бёдечу, который поделился своими знаниями о зависимостях пакетов. Ключевой была эта строка кода под комментарием // ... зависимость также должна обрабатываться здесь на целевом уровне //
Надеюсь, это поможет кому-то с такими же проблемами.
// swift-tools-version: 5.10
import PackageDescription
// Sample for dependency on other local package
let package = Package(
name: "SecondPackage",
products: [
.library(
name: "SecondPackage",
targets: ["SecondPackage"]
),
],
// relative path to first package
dependencies: [.package(path: "../BaseTypeExtension"),],
targets: [
.target(
name: "SecondPackage",
// ... dependency must also be handled here on target level
dependencies: [.product(name: "BaseTypeExtension", package: "BaseTypeExtension")]
),
.testTarget(
name: "SecondPackageTests",
dependencies: ["SecondPackage"]
),
]
)