Home > Software design >  Pod Dependency conflicting names
Pod Dependency conflicting names

Time:11-30

I develop two frameworks (Framework A and Framework B) and deliver them via Cocoapods.Framework A has a dependency on Framework B . Below you can see the pod spec for a Framework A:

s.ios.dependency 'Framework B/Dynamic', "~> 1.0.0"

If I install both frameworks via CocoaPods and specify them both in the Podifle , I receive an error:

[!] The 'PodsTarget' target has frameworks with conflicting names: framework_b_name.xcframework.

I wonder, is there any .podspec argument or build settings for Framework A , which could help me to solve this issue. For example, cocoapods will not install additional Framework A in case, if both Framework A and B have been specified in the Podfile ? I want this issue to be solved on the dependency side and not on the side of the client (person, who installs the pod).

I have tried to use weak linking flag in the build settings as well, as removing /Dynamic from the .podspec

CodePudding user response:

So, here is my solution for the current problem:

In Podfile I have my FrameworkB (without specific version it pulls the latest major, let's say 2.0.0). In my Podspec I had version of a dependency set to ~> 1.0.0], which will pull any version, that is higher, than 1.0.0, but lower than 2.0.0. Plus, I pulled FrameworkB/Dynamic, which led to creation of Dynamic folder, so after pod install/update, I had following project struct:

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

Changing version in the .podspec file to >=1.0.0 fixed the problem.

  • Related