Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Private pods - best practices

Private pods - best practices

A pretty opinionated talk for CocoaPods state of the union (WWDC) event.

The talk is a result of some practices applied after dealing with private pods in a bigger team for quite awhile. Opinions are my own and you shouldn't take them as facts.

1a8210be06c7e4e4add04eb95ea7964c?s=128

Marin Usalj

June 09, 2014
Tweet

More Decks by Marin Usalj

Other Decks in Programming

Transcript

  1. LOCAL PODS BEST PRACTICES

  2. MARIN USALJ @SUPERMARIN

  3. MARIN USALJ @SUPERMARIN

  4. DEVELOPER! DEVELOPER! DEVELOPER! @YAMMER

  5. Alcatraz Kiwi xcpretty Objective[Sugar,Record] ...

  6. REDACTED

  7. MAGIC TRICK

  8. 11? TOO BAD

  9. DITCH THE SPEC SERVER WRITE MODULAR CODE TEST COMPONENTS TOGETHER

  10. WHY

  11. DITCH THE SPEC SERVER

  12. PRIVATE SPEC SERVER edit source commit tag publish podspec

  13. NO PRIVATE SPEC SERVER edit source commit tag

  14. NEW DEVELOPERS NEED TO ADD THE PRIVATE SERVER WHERE DOES

    THE POD COME FROM?
  15. NO PRIVATE SPEC SERVER USE :GIT pod 'SiliconKit', :git =>

    'pods.local/siliconkit.git' OPTIONALLY, USE :TAGS pod 'SiliconKit', :git => '...', :tag => '1.0.3'
  16. MODULAR CODE

  17. !"" Source # !"" Data # !"" Investors # !""

    Networking # # !"" Authentication # # !"" Companies # # !"" Investitions # $"" Presenters
  18. VALUES AS BOUNDRIES TAKE A VALUE, RETURN A VALUE. NO

    DEPS.
  19. SCDTHREAD -> SCDFORMATTER -> NSSTRING

  20. SCDTHREAD.RECIPIENTS -> NSARRAY -> SCDFORMATTER -> NSSTRING

  21. TESTING DHH IS DEAD. LONG LIVE TDD

  22. HOW DO WE RUN THEM?

  23. XCPROJCEPTION

  24. TWO PODSPECS SILICONKIT.PODSPEC SILICONKITTESTS.PODSPEC

  25. CAN WE DO BETTER?

  26. EXCLUSIVE PODSPECS s.subspec 'ARC' do |arc| arc.source_files = 'SiliconKit/**/*.{h,m}' arc.requires_arc

    = true end s.test_spec do |test| test.source_files = 'SiliconKitTests/**/*.{h,m}' test.framework = 'XCTest' test.dependency 'Kiwi/ARC' test.dependency 'Kiwi/NonARC' end
  27. CONTINUOUS INTEGRATION TEST ALL THE COMPONENTS SEPARATELY TEST ALL THE

    COMPONENTS TOGETHER
  28. None
  29. SEPARATELY QUICK FEEDBACK EASY TO SPOT A PROBLEM

  30. TOGETHER SLOWER SLEEP WELL

  31. THANKS @ORTA TWILIO ALTCONF