Как я могу включить / связать другие зависимости пакета Swift в пакет Swift, который содержит только binaryTargets (XCFrameworks)?
Я создаю пакеты Swift из различных платформ Objective-C (с помощью XCFrameworks).
Я успешно создал SP, но столкнулся с проблемой, когда дело доходит до других зависимостей SP, на которые он полагается.
Если я добавлю только WrapperPackage в свое DemoApp, компилятор выйдет из строя из-за отсутствия фреймворков SubDependencyPackage .
Если я добавлю SubDependencyPackage через SPM в DemoApp, он компилируется нормально.
Возможно ли / как я могу ...
правильно связать «подчиненные зависимости» ( SubDependencyPackage ) в Swift Package ( WrapperPackage ), чтобы в DemoApp мне нужно было только добавить WrapperPackage через SPM, и все зависимости были разрешены?
Рабочий процесс
- DemoApp добавляет WrapperPackage в качестве зависимости SPM.
- WrapperPackage содержит 2 XCFrameworks.
- 2 XCFrameworks были созданы из 2-х платформ Objective-C.
- Платформы Objective-C имеют «подчиненные зависимости» от отдельного пакета Swift (SubDependencyPackage).
DemoApp
|
--WrapperPackage (XCFrameworks)
|
--SubDependencyPackage (XCFramework Dependencies)
WrapperPackage.swift
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "WrapperPackage",
platforms: [.iOS(.v13)],
products: [
.library(name: "ObjectiveCFramework1", targets: ["ObjectiveCFramework1"]),
.library(name: "ObjectiveCFramework2", targets: ["ObjectiveCFramework2"]),
],
dependencies: [
.package(name: "SubDependencyPackage.git", url: "git@github.com:user/SubDependencyPackage.git", .branch("main")),
],
targets: [
.binaryTarget(name: "ObjectiveCFramework1", path: "XCFrameworks/ObjectiveCFramework1.xcframework"),
.binaryTarget(name: "ObjectiveCFramework2", path: "XCFrameworks/ObjectiveCFramework2.xcframework"),
]
)