Working with Cocoapods is nice. It allows you to break your code into modules, which is great for maintaining concepts like single responsibility.

I added an in house SDK to a large project today (which might even be shared publicly eventually). It’s a private pod, which means we reference it on an internal git repo. We liked the idea of being able to add the line:

pod 'NSTJSDK', '0.0.1'

to our Podfile and having it work straight away without messing with header search paths and git submodules. It’s nice.

You can check out a nice walkthrough at dblock. He gives you the bulk of what you need in addition to the basic intro from Cocoapods.