我开发了两个框架(框架A和框架B),并通过Cocoapods交付它们。框架A依赖于框架B。下面是框架A的pod规范:
s.ios.dependency 'Framework B/Dynamic', "~> 1.0.0"
如果我通过CocoaPods
安装这两个框架,并在Podifle
中指定它们,我会收到一个错误:
[!] The 'PodsTarget' target has frameworks with conflicting names: framework_b_name.xcframework.
我想知道,是否有任何.podspec参数或构建设置的Framework A
,这可以帮助我解决这个问题。例如,cocopods将不会安装额外的Framework A
的情况下,如果框架A和B都已指定在Podfile
?我希望这个问题是解决在依赖方,而不是在客户端(人,谁安装了pod)。
我也尝试过在构建设置中使用弱链接标志,如从.podspec中删除/Dynamic
1条答案
按热度按时间mznpcxlj1#
下面是我对当前问题的解决方案:
在Podfile中,我有我的FrameworkB(没有特定的版本,它会拉取最新的主文件,比如
2.0.0
)。在我的Podspec中,我有一个依赖项的版本设置为~> 1.0.0
],它会拉取任何版本,也就是higher, than 1.0.0, but lower than 2.0.0
。另外,我拉取了FrameworkB/Dynamic
,这导致了Dynamic
文件夹的创建,所以在pod install/update
之后,我有下面的项目结构:将.podspec文件中的版本更改为
>=1.0.0
解决了该问题。