0

In my project I'm using both Swinject and SwinjectAutoregistration pods. Both are usually declared as '2.0.0' versions like so: pod 'Swinject', '2.0.0' pod 'SwinjectAutoregistration', '2.0.0'

But in order to build my project in the beta version of Xcode 9, I need to take a specific branch of the Swinject github repo, as stated here. The new declaration looks like this:

pod 'Swinject', :git => 'https://github.com/Swinject/Swinject.git', :branch => 'swift4'

When I then try pod update I have dependencies error. I believe SwinjectAutoregistration declares a dependency to Swinject 2.0 so I have different sources for the same pod.

Is there a way to tell cocoapods that this specific source of the pods acts like the 2.0 version?

invalidArgument
  • 2,289
  • 4
  • 24
  • 35

1 Answers1

1

Well, it seems like specifying the source as the github repo instead of the cocoapod repo for this particular pod works.

I added this line before the target 'MyGreatApp' do line:

source 'https://github.com/Swinject/Swinject.git'

I must specify that this works for this particular pod, but might not work for other cases. The fine folks behind Swinject have a fix for an Xcode (9, beta) bug on a branch in their github repo that is not in the cocoapod repo.

So this answer works in this case, but unfortunately this might not be as generic as I hoped.

invalidArgument
  • 2,289
  • 4
  • 24
  • 35