Publishing your library with Carthage
by
Frédéric Maquin
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
PUBLISHING YOUR LIBRARY WITH CARTHAGE Frédéric Maquin @ephread CocoaHeads Strasbourg June 30th, 2016
Slide 2
Slide 2 text
2
Slide 3
Slide 3 text
Decentralised dependency manager for Xcode projects. 3
Slide 4
Slide 4 text
OCTOBER 2014 JUSTIN SPAHR-SUMMERS 4
Slide 5
Slide 5 text
OCTOBER 2014 JUSTIN SPAHR-SUMMERS 4
Slide 6
Slide 6 text
Written in Swift. Based on iOS 8+ dynamic frameworks. 5
Slide 7
Slide 7 text
VS. 6
Slide 8
Slide 8 text
CocoaPods is CENTRALISED, EASY but INTRUSIVE. 7
Slide 9
Slide 9 text
Carthage is DECENTRALISED, UNINTRUSIVE and SIMPLE. CARTHAGE 8
Slide 10
Slide 10 text
EASY SIMPLE ≠ 9
Slide 11
Slide 11 text
GETTING STARTED 10
Slide 12
Slide 12 text
INSTALLATION $ brew install carthage 11
Slide 13
Slide 13 text
INSTALLATION https://github.com/Carthage/Carthage/releases or download PREBUILT PACKAGES. 12
Slide 14
Slide 14 text
Cartfile github "ReactiveCocoa/ReactiveCocoa" git "https://enterprise.local/desktop/git-error-translations2.git" 13
Slide 15
Slide 15 text
Cartfile github "ReactiveCocoa/ReactiveCocoa" git "https://enterprise.local/desktop/git-error-translations2.git" ~> 4.0 13
Slide 16
Slide 16 text
Cartfile github "ReactiveCocoa/ReactiveCocoa" git "https://enterprise.local/desktop/git-error-translations2.git" "master" 13
Slide 17
Slide 17 text
Cartfile $ carthage update 14
Slide 18
Slide 18 text
Cartfile $ carthage update FETCH the code and BUILD the framework. 14
Slide 19
Slide 19 text
FRAMEWORK LINKING 15
Slide 20
Slide 20 text
STRIP ARCHITECTURE (iOS) Work around an App Store BUG. 16
Slide 21
Slide 21 text
You’re ALL SET! 17
Slide 22
Slide 22 text
PUBLISH 18
Slide 23
Slide 23 text
Bundle your code in a FRAMEWORK. 19
Slide 24
Slide 24 text
Share your SCHEMES. PRODUCT > SCHEME > MANAGE SCHEMES… 20
Slide 25
Slide 25 text
It doesn’t get any SIMPLER. 21
Slide 26
Slide 26 text
It doesn’t get any SIMPLER. But don’t forget to TAG versions. 21
Slide 27
Slide 27 text
It doesn’t get any SIMPLER. But don’t forget to TAG versions. And PUSH the code somewhere… 21
Slide 28
Slide 28 text
IN SHORT 22
Slide 29
Slide 29 text
CocoaPods is EASY TO USE and can LINT/ANALYSE your code. PROS 23
Slide 30
Slide 30 text
CocoaPods can even generate the DOCUMENTATION for you. PROS 24
Slide 31
Slide 31 text
CONS CocoaPods is INTRUSIVE and can be SLOW. 25
Slide 32
Slide 32 text
Pods require some WORK to publish. CONS 26
Slide 33
Slide 33 text
Carthage is FAST, UNINTRUSIVE and SIMPLE. CARTHAGE PROS 27
Slide 34
Slide 34 text
Carthage ONLY SUPPORTS iOS 8+. CARTHAGE CONS 28
Slide 35
Slide 35 text
Carthage requires more work when IMPORTING LIBRAIRIES. CARTHAGE CONS 29
Slide 36
Slide 36 text
By the way, I prefer CARTHAGE over COCOAPODS. :o) 30
Slide 37
Slide 37 text
QUESTIONS? 31