COCOAPODSSane library management for Xcode leonard.ehrenfried@gmail.com      github.com/lenniboy
SO, YOURE STARTING A NEW XCODE PROJECT      Look for some libraries to use in your project      Maybe an OAuth ibrary?    ...
INSTALLATION INSTRUCTIONS1. drag the O u h C i n . c d p o into your project              At2letxoerj2. add O u h C i n as...
WHY IS MANUAL INSTALLATION PROBLEMATIC?            Error-prone            Upgrade path unclear            No transitive de...
WORST OF ALL?THE LIBRARY SOURCE IS SUPPOSED TO BE ADDED TO VERSION CONTROL!
OTHER LANGUAGES AND PLATFORMS HAVE AUTOMATED ALL OF                        THIS               Python has e s _ n t l / i  ...
ENTER COCOAPODSLibrary dependency management for Xcode projectsCommunity maintainedWritten in RubyModelled after Rubygemsg...
GREAT, HOW DOES IT WORK?1.   Create an Xcode project2.   Add a P d i e your project folder             o f l to3.   Add yo...
DEMO TIME
ANATOMY OF A PODSPECPd:pcnwd || o:Se.e o s  snm   .ae   =BrgesU           MPorsHD  svrin =.   .eso    05  spafr =:o   .lto...
IN-HOUSE DEVELOPMENTReferencing a local folder in a p d p c                                 oseHost your own repository of...
RANDOM FEATURE OVERVIEW                     Last night: 589 pods   Contributing is easy, just fork and create a pull reque...
THE END QUESTIONS?cocoapods.org
Cocoapods   sane library management for xcode
Cocoapods   sane library management for xcode
Upcoming SlideShare
Loading in …5
×

Cocoapods sane library management for xcode

4,973 views
4,868 views

Published on

A talk I gave at CocoaHeads Berlin

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,973
On SlideShare
0
From Embeds
0
Number of Embeds
4,060
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cocoapods sane library management for xcode

  1. 1. COCOAPODSSane library management for Xcode leonard.ehrenfried@gmail.com github.com/lenniboy
  2. 2. SO, YOURE STARTING A NEW XCODE PROJECT Look for some libraries to use in your project Maybe an OAuth ibrary? How to import it into your project?
  3. 3. INSTALLATION INSTRUCTIONS1. drag the O u h C i n . c d p o into your project At2letxoerj2. add O u h C i n as a build dependency At2let3. add O u h C i n / * your user header search path in the build settings A t 2 l e t * to4. link your target against O u h C i n (drag the OAuth2Client product from At2let OAuth2Client.xcodeproj to your targets Link Binary With Libraries)5. # m o t " X A t 2 h ipr NOuh."
  4. 4. WHY IS MANUAL INSTALLATION PROBLEMATIC? Error-prone Upgrade path unclear No transitive dependencies
  5. 5. WORST OF ALL?THE LIBRARY SOURCE IS SUPPOSED TO BE ADDED TO VERSION CONTROL!
  6. 6. OTHER LANGUAGES AND PLATFORMS HAVE AUTOMATED ALL OF THIS Python has e s _ n t l / i ayisalpp Ruby has g m e JavaScript has n m p Java has Maven Objective-C has ?
  7. 7. ENTER COCOAPODSLibrary dependency management for Xcode projectsCommunity maintainedWritten in RubyModelled after Rubygemsgmisalccaos e ntl oopd
  8. 8. GREAT, HOW DOES IT WORK?1. Create an Xcode project2. Add a P d i e your project folder o f l to3. Add your dependency to it4. pdisal o ntl5. Compiles your library dependency as a static library6. Takes your project and puts it into an Xcode workspace7. Adds static library to workspace8. You open A p x w r s a e p . c o k p c instead of A p x p o e t p.crjc9. Profit!!1!
  9. 9. DEMO TIME
  10. 10. ANATOMY OF A PODSPECPd:pcnwd || o:Se.e o s snm .ae =BrgesU MPorsHD svrin =. .eso 05 spafr =:o .ltom is slcne =I .ies MT ssmay =niSatvt idctrve. .umr A O ciiy niao iw shmpg =tp:/ihbcmmtjMPorsHD .oeae hts/gtu.o/ae/BrgesU sato .uhr ={ae Bkvnk= ae@uoisicm, Mtj uoisi > mtjbkvnk.o oahnGog = oahnjgnt } Jnta ere > jnta@d.e ssuc .ore ={:i = tp:/ihbcmjgMPorsHDgt,:a = .} gt > hts/gtu.o/d/BrgesU.i tg > 05 ssuc_ie =.hm .orefls *{,} sfaeok .rmwr ="oerpis CrGahc"ed n
  11. 11. IN-HOUSE DEVELOPMENTReferencing a local folder in a p d p c oseHost your own repository of p d p c oses
  12. 12. RANDOM FEATURE OVERVIEW Last night: 589 pods Contributing is easy, just fork and create a pull requestHandles difference between ARC and non-ARC dependencies : e t : e scopes available ts/dv iOS and OSX dependencies
  13. 13. THE END QUESTIONS?cocoapods.org

×