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
CocoaPods at Square
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Brian Partridge
June 09, 2015
Technology
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CocoaPods at Square
A Peek Into iOS Engineering at Square
Brian Partridge
June 09, 2015
More Decks by Brian Partridge
See All by Brian Partridge
Result Driven Development
brianpartridge
5
1.3k
Automate Everything - Continuous Integration for iOS and Mac
brianpartridge
0
150
Continuous Integration With Jenkins For iOS
brianpartridge
0
96
Other Decks in Technology
See All in Technology
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
210
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
180
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
380
Baseline対応のDOMの型定義を作った
uhyo
3
680
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
110
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
240
4人目のSREはAgent
tanimuyk
0
380
そのハーネス、本当に境界になっていますか? AIエージェント時代の実行環境設計【MEGU-Meet #4】
cscengineer
PRO
0
110
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
6
1.9k
きのこカンファレンス2026_肩書きを外したとき私は誰か
yamasatimi
1
130
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
290
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
620
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Speed Design
sergeychernyshev
33
1.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Transcript
CocoaPods at Square BRIAN PARTRIDGE Register Team
REGISTER CASH CAVIAR CUSTOMER DISPLAY INTERNAL
Register Dependencies
Register Dependencies SquareCore SquareData PonyExpress Protocol Buffers Register
Register Dependencies SquareCore Register SquareData PonyExpress Protocol Buffers Hardware
Register Dependencies SquareCore Register SquareData PonyExpress Protocol Buffers Hardware
Register Dependencies SquareCore Register SquareData PonyExpress Protocol Buffers Hardware
Register Dependencies SquareData SquareCore PonyExpress Hardware Protocol Buffers Register
Register Dependencies SquareData SquareCore PonyExpress Hardware Protocol Buffers Register KIF
OCMock
Register Dependencies SquareData SquareCore PonyExpress Hardware Protocol Buffers Register PonyDebugger
Reveal KIF OCMock
Register Dependencies SquareData SquareCore PonyExpress Hardware Protocol Buffers Register PonyDebugger
Reveal Crashlytics KIF OCMock
Dependency Management
In the dark times… Submodules Requires manipulating opaque SHAs. Vessel
Internal tools for linking dependencies.
In the dark times… Slow Builds Xcode has to build
each target. Release Management Managing branches in multiple repositories. Lost Engineer Time 15 hours a week.
In the dark times… Slow Builds Xcode has to build
each target. Release Management Managing branches in multiple repositories. Lost Engineer Time 15 hours a week. There’s got to be a better way…
The Hunt VESSEL & SUBMODULES VESSEL & SUBTREES COCOAPODS CARTHAGE
MAVEN/GRADLE Auto Download Dependencies Auto Build Config Dependency Versioning Nested Dependencies Diamond Dependencies Conflict Detection Tools & iOS Support Team Opinion Workflow Impact
CocoaPods Semantic Versioning Meaningful version numbers. a1b2c3d4… vs 1.23.45 Dependency
Resolution Diamond dependencies are no longer surprises. Supports Libraries Does not require Frameworks. Extensibility Plugins and scripting.
Podification
Methodology Bottom Up Start at the leaves. Start Small Smaller
apps with fewer dependencies. Tests Transition test targets to consume pods first. Tests@2x Use tests for validation of generated podspecs.
Challenges Partial Podification Making Vessel and CocoaPods work together. Code
Generation Protocol buffer bindings. Concurrent Development Developing a pod alongside a consumer.
REGISTER CASH CAVIAR CUSTOMER DISPLAY INTERNAL
Future Faster Builds Caching build artifacts from for use as
binary pods. Plugins Podfile.local replacement.
[email protected]
@brianpartridge