让
SDK_A
一个SDK依赖于SDK_B
,另一个S,两者都发布在SPM上。
SDK_A
使用 SDK_B
形式定义对 from: Version(M, m, p)
的依赖。
集成
SDK_A
的应用程序如何强制使用 SDK_B
版本?
示例:
SDK_A
版本 1.2.4 可用,SDK_B
相同。 SDK_A
的每个版本都依赖于 (1, 0, 0) 中的 SDK_B
。
如何集成
SDK_A
版本1.2.2并强制SDK_B
也集成为版本1.2.2而不是像SDK_A
包中定义的1.2.4?
由于每个依赖项只能具有相同版本,因此解决方案是强制您的主应用程序对该特定版本具有该依赖项(仅当它确实需要通过子依赖项时):
您目前拥有:
Main App
-> Framework A
-> Framework B
让我们这样做:
Main App
-> Framework A
-> Framework B
-> Framework B at specific version (still compatible with Framework A version)
这样,框架A会检查:我需要自己下载框架B吗?哦,它已经在那里了(因为它是在与我相同的级别指定的),我的需求和添加的版本之间的版本兼容吗?是的?那我们就用那个吧。