rollingcodes
rollingcodes

Reputation: 16038

Is CocoaPods Used in Production?

I am not entirely sure if this is the appropriate place to ask this question, but given that CocoaPods is a third-party Xcode plugin not made by Apple is CocoaPods ever used in the professional computer science industry? I know several apps made by fellow individual developers that utilize CocoaPods because it's one less headache (same reason I like the idea), but is it even worth getting familiar with if companies you are interested in working at that make iOS apps don't even use it? Or do companies not care and leave it entirely up to the developer?

Upvotes: 0

Views: 595

Answers (2)

Patrick Goley
Patrick Goley

Reputation: 5417

Cocoapods is just a tool to find, clone, build, and link against app dependancies. Ultimately, it just creates an .xcworkspace where all of the dependancies are linked to your main app. While Cocoapods isn't a first-party tool, it's only job is to create and configure an .xcworkspace, which is a first party tool. Everything Cocoapods does could be done manually using Xcode.

It's also worth mentioning Carthage as another alternative for dependency management. Carthage simple clones and builds frameworks, it leaves it up to you to drag them into your .xcodeproj and link them. This is a less intrusive approach in that it doesn't create or require an xcworkspace.

EDIT: To address your specific question, yes, both Cocoapods and Carthage have widespread, almost ubiquitous use in the professional world. These tools have become the defacto standard for managing dependancies in Xcode. While you can get by without them, doing this all manually is error prone and wastes time when we have established conventions.

While I can't speak to closed source software such as Google's apps, the fact that they offer pods is a clear indicator that they expect you as a developer to use them. You don't see any instructions from Google on how to setup/build their frameworks from a git submodule now do you?

Upvotes: 5

user3857868
user3857868

Reputation:

CocoaPods is a dependency manager for Objective-C and Swift. Many developers add their libraries to CocoaPods. By using it, you're enabling your projects to scale in a reliable way.

You don't have to use CocoaPods. You could always manually add a library to your project, but CocoaPods has become a standard in the professional iOS development industry for its elegance and dependability. CocoaPods is sponsored by big companies, like Capital One. Stripe uses it (http://github.com/stripe/stripe-ios). So does Twitter (http://dev.twitter.com/mopub/ios/getting-started).

CocoaPods is not very hard to learn at all if you want to get started in it. Yes, it seems scary because it creates an xcworkspace, but it only takes about two minutes to first start using it. And for the record – you're simply working on your project by opening up your xcworkspace instead of xcodeproj. Nothing too frightening ;)

The official getting started guide: https://guides.cocoapods.org/using/getting-started.html

A helpful tutorial that walks you through it: https://www.raywenderlich.com/97014/use-cocoapods-with-swift

Upvotes: 1

Related Questions