Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Yet another Dependency Manager
Search
Piet Brauer
January 08, 2015
Programming
0
160
Yet another Dependency Manager
Held at the local Cocoaheads Hamburg
Piet Brauer
January 08, 2015
Tweet
Share
More Decks by Piet Brauer
See All by Piet Brauer
Designing Pro Apps @ FrenchKit 2016
pietbrauer
0
710
The Future Of Computing
pietbrauer
0
50
DevOps in the iOS world
pietbrauer
0
390
FBSnapshotTestCase
pietbrauer
1
260
Modular iOS App @ UIKonf 2014
pietbrauer
7
260
Scaling iOS Development
pietbrauer
1
85
Modular iOS Apps
pietbrauer
2
340
Unit Testing
pietbrauer
1
77
Other Decks in Programming
See All in Programming
print("Hello, World")
eddie
2
530
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
750
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
120
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.5k
Swift Updates - Learn Languages 2025
koher
2
510
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
470
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
560
Deep Dive into Kotlin Flow
jmatsu
1
370
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
為你自己學 Python - 冷知識篇
eddie
1
350
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
A designer walks into a library…
pauljervisheath
207
24k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Optimizing for Happiness
mojombo
379
70k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
RailsConf 2023
tenderlove
30
1.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Bash Introduction
62gerente
615
210k
The World Runs on Bad Software
bkeepers
PRO
70
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Transcript
Yet another Dependency manager by the creator of @AirportQuiz
Cocoapods • since 17/9/2011 • originally created by @alloy •
written in ruby • currently 7499 packages published
Carthage • since 18/11/2014 • created by jspahrsummers • written
in Swift • theoretically every Xcode project can be a package
Cocoapods Installation gem install cocoapods
Carthage installation brew install carthage
Providing a package (Cocoapods edition) • build your project •
specify a podspec (easy ruby syntax) • push it to trunk • new authentication system • pushes it to Github specs repository
Providing a package (Carthage edition) • build your project •
define dependencies (if any) in a Cartfile (custom DSL) • provide a Xcode project that builds a framework
Integrating other projects into yours (Cocoapods) • Write it down
in Podfile • pod "NBNRealmBrowser", '~> 0.2.0' • pod install • Cocoapods will download dependencies and integrate them into your project
Integrate other projects into yours (Carthage) • Write down in
Cartfile • github "NBNPhotoChooser" ~> 0.2.0 • carthage update • integrate the built .frameworks yourself
Upsides Cocoapods • well done dev toolset around dependencies •
Cocoadocs • project bootstrapping • widely adopted and supported • no integration pain
Upsides Carthage • new and fresh • not another language
to know • feels more natural for iOS developers
Downsides Cocoapods • modifies your project and you have to
use a Xcode workspace • written in Ruby
Downsides Carthage • pretty new • adoption is not as
widely as with cocoapods • integration is still a small pain • iOS 8 only
Conclusion This page intentionally left blank.