ios Pod相关性冲突名称

ffscu2ro  于 2022-12-01  发布在  iOS
关注(0)|答案(1)|浏览(216)

我开发了两个框架(框架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

mznpcxlj

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之后,我有下面的项目结构:

project
│   /..../    
│
└───Pods
│   │   FrameworkB.framework
│   │
│   └───Dynamic
│          FrameworkB.framework

将.podspec文件中的版本更改为>=1.0.0解决了该问题。

相关问题