Giter Site home page Giter Site logo

cocoapods's Introduction

CocoaPods – an Objective-C library manager

Build Status

CocoaPods manages library dependencies for your Xcode project.

Homepage: http://cocoapods.org/ Twitter: @CocoaPodsOrg Mailing List: http://groups.google.com/group/cocoapods

You specify the dependencies for your project in one easy text file. CocoaPods resolves dependencies between libraries, fetches source code for the dependencies, and creates and maintains an Xcode workspace to build your project.

Ultimately, the goal is to improve discoverability of, and engagement in, third party open-source libraries, by creating a more centralized ecosystem.

See the wiki for more in depth information on several topics.

Installation

Downloading and installing CocoaPods only takes a few minutes.

CocoaPods runs on Ruby. To install it run the following commands:

$ sudo gem install cocoapods
$ pod setup

Now that you've got CocoaPods installed you can easily add it to your project.

Adding it to your project

Search for Pods by name or description.

$ pod search asi
==> ASIHTTPRequest (1.8.1)
    Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone

==> ASIWebPageRequest (1.8.1)
    The ASIWebPageRequest class included with ASIHTTPRequest lets you download
    complete webpages, including external resources like images and stylesheets.

After you've found your favorite dependencies you add them to your Podfile.

$ edit Podfile
platform :ios
dependency 'JSONKit',           '~> 1.4'
dependency 'Reachability',      '~> 2.0.4'

And then you install the dependencies in your project.

$ pod install App.xcodeproj

Where ‘App.xcodeproj’ is the name of your actual application project.

The next time you change your Podfile, you can update your project by simply running:

$ pod install

Remember to always open the Xcode workspace instead of the project file when you're building.

$ open App.xcworkspace

Sometimes CocoaPods doesn't have a Pod for one of your dependencies yet. Fortunately creating a Pod is really easy.

$ pod spec create Peanuts
$ edit Peanuts.podspec
$ pod spec lint Peanuts.podspec

Once you've got it running create a ticket and upload the Pod. If you're familiar with Git you can also fork the CocoaPods specs repository and send a pull request. We really love contributions!

There are several other ways to start using any library without a Pod specification, which can be seen in the SSCatalog example.

Collaborate

All CocoaPods development happens on GitHub, there is a repository for CocoaPods and one for the CocoaPods specs. Contributing patches or Pods is really easy and gratifying. You even get push access when one of your specs or patches is accepted.

Follow @CocoaPodsOrg to get up to date information about what's going on in the CocoaPods world.

If you're really oldschool and you want to discuss CocoaPods development you can join #cocoapods on irc.freenode.net.

Donations

  • @fngtps is donating time to work on the design of the forthcoming cocoapods.org website and donated the money to hire Max Steenbergen to design an icon for it.
  • @sauspiel uses CocoaPods for their games and have hired me to add features and specs they needed. These are Nimbus, QuincyKit, and HockeyKit. For the Nimbus spec, the ‘subspecs’ feature was added.

Endorsements

  • “I am crazy excited about this. With the growing number of Objective-C libraries, this will make things so much better.” –– Sam Soffes
  • “Are you doing open source iOS components? You really should support @CocoaPodsOrg!” –– Matthias Tretter
  • “So glad someone has finally done this...” –– Tom Wilson
  • “Anybody who has tasted the coolness of RubyGems (and @gembundler) understands how cool CocoaPods might be.” –– StuFF mc
  • “I will be working on getting several of my Objective-C libraries ready for CocoaPods this week!” –– Luke Redpath
  • “Really digg how @alloy is building a potential game changer” –– Klaas Speller
  • “@alloy's making an Objective-C package manager. This is fantastic news kids!” –– Josh Abernathy
  • “A package manager for Cocoa/Objective-C, built with @MacRuby. Awesomeness!” –– Johannes Fahrenkrug
  • “This is awesome, I love endorsements!” –– Appie Durán

cocoapods's People

Contributors

alloy avatar chriseidhof avatar eraserhd avatar floere avatar jweinberg avatar kommen avatar lukeredpath avatar maikg avatar mk avatar nolanw avatar roothybrid7 avatar vincentisambart avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.