Skip to content

CocoaPods

Ken Harris edited this page Dec 18, 2020 · 2 revisions

Don't use CocoaPods. Use Carthage SPM instead.

Some reasons:

  • It works by turning your "project" into a "workspace". That is, you have to change the entire structure of your repo to use this system. XCode projects are complex enough. Workspaces are worse.

  • It's a centralized system. There's lots of reasons you don't want this. You don't even get any of the standard benefits, e.g., the quality of the listed pods is not at all consistent, and there's nobody who you can report violations to. It's the worst of both worlds.

  • There's pods which are just "here's a binary blob, enjoy!". Sometimes they violate the original software license. Sometimes they don't come with headers. Sometimes you can't re-compile it yourself. Sometimes they're not connected to any pristine repo. You don't get to choose whether you want optimization, debugging symbols, etc. The raw material of our profession is source code, so insist on it.

  • It creates a hidden ~/.cocoapods/ with all repos you've ever installed -- which is not excluded from Time Machine by default. (Bye bye, disk space!)

  • All the top Mac frameworks are available through multiple packaging systems, so it's just as easy to install it any other way -- or even manually. The general trend is towards SPM.

Clone this wiki locally