Is CocoaPods still used?2023

Is CocoaPods still used in developing in 2023?

1 Like

I've used it for a couple of apps where I had to add Google Maps - I find it easy to use :slight_smile:

1 Like

Thank you for your answer, Henric! I'm just starting to learn Swift, that's why I was interested :blush:

1 Like

I get the impression Swift Package Manager is increasingly popular now, with the Swift focus and all. CocoaPods seems a bit slow to adapt to changes in the Apple developer ecosystem, which annoyed some people.

You might also see some stuff using Carthage too. I haven't seen too much using it, and what does I noticed was more Mac than iOS oriented. Very small sample size though, so YMMV.

4 Likes

Oh, I see. I just heard an opinion, that not all the pods from Cocoapods, for example, have alternative for Swift Package Manager, but I guess it will slowly change. Thank you for the answer!

CocoaPods is still used for a few reasons. First and foremost is significant investment by corporate customers over the last decade, so it still has a lot of inertia. Second, it still has a few capabilities that SPM doesn't and may never have. This includes the ability to vendor compiled executables and deep customization of the installation process, both extremely useful when you're consuming packages outside the narrow band supported by SPM. Third, and finally, CocoaPods provides a centralized notion of author and package identity. While SPM is slowly gaining support for a registry standard, it doesn't look like Apple wants to actually provide an identity verification mechanism to go along with it, so at most we'll see community registries, like the Swift Package Index, gain support and perhaps integration with SPM. Unfortunately the identity issue will remain.

Overall, SPM has really sucked the air out of the community package manager efforts over the last five years. Carthage is barely updated in the last two years, and CocoaPods has slowed way down over the last year especially. Luckily they're both relatively stable with only minor issues in that time, but it's only a matter of time until they break badly enough they won't be fixed.

Personally I'm using SPM almost all the time, except in rare circumstances. Obviously this includes packages without SPM support, but also things like terrible analytics libraries which I use in CocoaPods so I avoid linking them in debug builds (impossible in SPM), or where I need to set compiler flags or control the Xcode integration (also impossible in SPM). I also use CocoaPods vendor tools like SwiftLint and SwiftFormat so I can control local versions. And, unfortunately in one project I also have to use Carthage because that's the only way Google deploys the version of the Maps SDK that's an xcframework with M1 support. So I'm guessing these tools will stay around until they're broken, as matching their capabilities doesn't seem to be a priority.

13 Likes

Jon, thank you so much for the detailed answer!