$30 off During Our Annual Pro Sale. View Details »

PSA: Carthage 0.29.0

PSA: Carthage 0.29.0

Things you might not know about dependency management with Carthage

Tommaso Piazza

March 22, 2018
Tweet

More Decks by Tommaso Piazza

Other Decks in Programming

Transcript

  1. PSA: CARTHAGE
    0.29.0
    THINGS YOU MIGHT NOT KNOW
    TOMMASO PIAZZA @TMPZ
    1 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  2. NEW RESOLVER
    Carthage hangs indefinitely? !
    Uses too much memory? "
    > --new-resolver
    > Check your Cartfile !
    > Best to pin versions (avoid surprises) ~> x.y.z
    2 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  3. LESS REBUILDS
    Save time! ⏱
    Avoid rebuilding dependencies
    > --cache-builds
    > use a cache for cold starts (Rome)
    3 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  4. BINARY DEPS
    Did you know?
    In your Cartfile declare
    > binary "https://.../Answers.json"
    > github "Owner/Repo" checks for attached binaries!
    !
    > Now with static framework support
    4 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  5. QUICKER & RESOURCE CONSCIOUS
    > limited scheme discovery parallelism (4 processes)
    > excludes non-buildable schemes earlier !
    5 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  6. DSYMS & DEBUG SYMBOLS
    Carthage 0.28.0 did not generate dSYMs properly
    > Fixed ✅
    > Binaries include debug symbols by default
    6 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  7. SMALLER BINARIES
    Reduce the size of your app by enabling
    > COPY_PHASE_STRIP=YES (defaults to no)
    > carthage copy-frameworks will do the rest
    7 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  8. OUTDATED DEPEDENCIES
    Carthage has you covered!
    To Build Phases ➕ a new Run Script Phase
    > carthage outdated --xcode-warning
    8 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  9. UPDATE X WORKS AS IT SHOULD
    carthage update X
    > now actually updates X and what X depends upon
    9 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  10. CRASH NO MORE
    Fixed a crash when working with a long list of
    dependencies
    10 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  11. NEW VERSION FASTER
    A fix to your problem just got merged?
    > brew upgrade carthage --HEAD
    11 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  12. STILL HAVING ISSUES?
    Maintainers would ❤ if you
    > Searched the existing issues before
    > Filled in as much details as you can
    > Provided a sample project (zip)
    12 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide

  13. THANKS!
    THANKS TO ALL CONTRIBUTORS THAT MADE THIS POSSIBLE!
    > Pull request always welcome!
    > Very easy to get started!
    > hack, pr, comments, repeat, merged! ✅
    13 — Tommaso Piazza @tmpz - Cocoa Heads Berlin 21/03/2018

    View Slide