我正在尝试基于SPM获取依赖目标,我在这里定义了Package.swift
:
所以我在包依赖项中定义了RxSwift
,但它仅在目标ReCaptchaRx
中使用,而不是在目标ReCaptcha
中使用。
我期望发生的事情:
如果我选择只选择一个没有Rx
的目标,我希望它只获取ReCaptcha
依赖项并忽略Rx
。
实际发生了什么:
只导入ReCaptcha
后,我得到了已解决但无法使用的软件包。如果我在导入窗口中选择ReCaptchaRx
,则会得到可以使用的Rx,这很好。但为什么在这种情况下SPM甚至还要获取和解决RxSwift
呢?
问题
为什么Xcode会在没有依赖关系的目标上解析RxSwift
?这可以被防止吗?我希望它的行为与AppSwizzle
在这个例子中类似,如果目标没有被使用,就不会被解析。
源代码:
这是一个开源库,可以在此处找到: https://github.com/JakubMazur/ReCaptcha/blob/swift-package-manager/Package.swift
如果您想在SPM中检出此代码将从https://github.com/JakubMazur/ReCaptcha
分支swift-package-manager
解析包。