Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Publishing your library with Carthage
Frédéric Maquin
June 30, 2016
Programming
0
850
Publishing your library with Carthage
Talk given at CocoaHeads Strasbourg.
Frédéric Maquin
June 30, 2016
Tweet
Share
More Decks by Frédéric Maquin
See All by Frédéric Maquin
Bluetooth Low Energy
ephread
1
250
Trends & Patterns
ephread
0
1.6k
Seeding your library with CocoaPods
ephread
0
560
Other Decks in Programming
See All in Programming
コードの解析と言語習得の心得
jinjin33333
0
130
Milestoner
bkuhlmann
1
200
Android入門
hn410
0
310
読みやすいコードを書こう
yutorin
0
430
もしも、 上司に鬼退治を命じられたら~プロジェクト計画編~
higuuu
0
290
Reactでアプリケーションを構築する多様化
sakito
4
3.4k
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
190
tfcon2022_Web3Dひとめぐり.pdf
emadurandal
0
1k
Swift Concurrencyによる安全で快適な非同期処理
tattn
2
330
偏見と妄想で語るスクリプト言語としての Swift / Swift as a Scripting Language
lovee
2
270
Licences open source : entre guerre de clochers et radicalité
pylapp
2
330
テスト設計技法をなぜ&どのように使うのか体験しよう!
imtnd
0
480
Featured
See All Featured
Robots, Beer and Maslow
schacon
152
7.1k
Statistics for Hackers
jakevdp
781
210k
GitHub's CSS Performance
jonrohan
1020
410k
Why You Should Never Use an ORM
jnunemaker
PRO
47
5.5k
Fireside Chat
paigeccino
11
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
46
3.9k
What's new in Ruby 2.0
geeforr
336
30k
A Tale of Four Properties
chriscoyier
149
20k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
Stop Working from a Prison Cell
hatefulcrawdad
261
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
315
19k
The Art of Programming - Codeland 2020
erikaheidi
32
5.8k
Transcript
PUBLISHING YOUR LIBRARY WITH CARTHAGE Frédéric Maquin @ephread CocoaHeads Strasbourg
June 30th, 2016
2
Decentralised dependency manager for Xcode projects. 3
OCTOBER 2014 JUSTIN SPAHR-SUMMERS 4
OCTOBER 2014 JUSTIN SPAHR-SUMMERS 4
Written in Swift. Based on iOS 8+ dynamic frameworks. 5
VS. 6
CocoaPods is CENTRALISED, EASY but INTRUSIVE. 7
Carthage is DECENTRALISED, UNINTRUSIVE and SIMPLE. CARTHAGE 8
EASY SIMPLE ≠ 9
GETTING STARTED 10
INSTALLATION $ brew install carthage 11
INSTALLATION https://github.com/Carthage/Carthage/releases or download PREBUILT PACKAGES. 12
Cartfile github "ReactiveCocoa/ReactiveCocoa" git "https://enterprise.local/desktop/git-error-translations2.git" 13
Cartfile github "ReactiveCocoa/ReactiveCocoa" git "https://enterprise.local/desktop/git-error-translations2.git" ~> 4.0 13
Cartfile github "ReactiveCocoa/ReactiveCocoa" git "https://enterprise.local/desktop/git-error-translations2.git" "master" 13
Cartfile $ carthage update 14
Cartfile $ carthage update FETCH the code and BUILD the
framework. 14
FRAMEWORK LINKING 15
STRIP ARCHITECTURE (iOS) Work around an App Store BUG. 16
You’re ALL SET! 17
PUBLISH 18
Bundle your code in a FRAMEWORK. 19
Share your SCHEMES. PRODUCT > SCHEME > MANAGE SCHEMES… 20
It doesn’t get any SIMPLER. 21
It doesn’t get any SIMPLER. But don’t forget to TAG
versions. 21
It doesn’t get any SIMPLER. But don’t forget to TAG
versions. And PUSH the code somewhere… 21
IN SHORT 22
CocoaPods is EASY TO USE and can LINT/ANALYSE your code.
PROS 23
CocoaPods can even generate the DOCUMENTATION for you. PROS 24
CONS CocoaPods is INTRUSIVE and can be SLOW. 25
Pods require some WORK to publish. CONS 26
Carthage is FAST, UNINTRUSIVE and SIMPLE. CARTHAGE PROS 27
Carthage ONLY SUPPORTS iOS 8+. CARTHAGE CONS 28
Carthage requires more work when IMPORTING LIBRAIRIES. CARTHAGE CONS 29
By the way, I prefer CARTHAGE over COCOAPODS. :o) 30
QUESTIONS? 31