Jak*_*kub 8 xcode swift swift-package-manager
我正在尝试获取基于 SPM 的依赖目标,我Package.swift在这里定义了:
所以我RxSwift在包依赖项中定义了它,但它没有在目标中使用ReCaptcha,而仅在目标中使用ReCaptchaRx
如果我选择仅选择一个目标而不是Rx我期望的,它只会获取ReCaptcha依赖项并忽略Rx.
仅导入后,ReCaptcha我得到的包已解析但无法使用,如果我在导入窗口中选择,ReCaptchaRx我将得到预期的可用 Rx,这很好。但为什么RxSwift在这种情况下 SPM 还要获取并解析呢?
为什么 Xcode 解析RxSwift不依赖于它的目标?这可以预防吗?我期望与AppSwizzle此示例中类似的行为,即如果不使用目标则不会得到解决。
这是一个开源库: https://github.com/JakubMazur/ReCaptcha/blob/swift-package-manager/Package.swift
如果您想在 SPM 中检出此内容,将从https://github.com/JakubMazur/ReCaptcha分支上解析包swift-package-manager
小智 6
基本上,Swift 包管理器还不够复杂,无法解决所有传递依赖项,即使它们仅由您不依赖的目标使用。
虽然 Xcode 侧边栏包依赖项列表中显示的所有传递依赖项很混乱,但我不认为这意味着您的演示应用程序实际上会附带任何未使用的目标/依赖项。这只是混乱,因为它们显示在侧边栏中并且在缓存目录中检出。
略有不同:从 SPM 5.2 开始,SPM足够智能,不会下载仅由依赖项的测试目标使用的传递依赖项。也许有一天,这会得到改进,以涵盖您所询问的情况。
| 归档时间: |
|
| 查看次数: |
3885 次 |
| 最近记录: |