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
🚀 Start Contributing to CocoaPods
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Boris Bügling
June 02, 2014
Technology
1
100
🚀 Start Contributing to CocoaPods
Presentation given at CocoaPods 3rd WWDC Meetup, June 2014.
Boris Bügling
June 02, 2014
Tweet
Share
More Decks by Boris Bügling
See All by Boris Bügling
Testing ⌚️ Apps and Other Extensions
neonichu
1
4.7k
Cross-platform Swift
neonichu
4
18k
Building better API clients in Swift
neonichu
1
320
Cross-platform Swift
neonichu
3
940
Swift Package Manager
neonichu
2
350
Swift Package Manager
neonichu
0
69
📺
neonichu
0
2k
Cross-Platform Swift
neonichu
0
110
Swift Package Manager
neonichu
6
4.4k
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
230
Oracle Cloud Infrastructure:2026年1月度サービス・アップデート
oracle4engineer
PRO
0
190
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
350
新規事業 toitta におけるAI 機能評価の話 / AI Feature Evaluation in toitta
pokutuna
0
280
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
120
一番人に近いコードレビューア CodeRabbit
kinopeee
0
110
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
72k
20260120 Amazon VPC のパブリックサブネットを無くしたい!
masaruogura
2
170
Databricks Free Edition講座 データサイエンス編
taka_aki
0
240
re:Inventで見つけた「運用を捨てる」技術。
ezaki
1
150
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
82
Abbi's Birthday
coloredviolet
1
4.6k
Odyssey Design
rkendrick25
PRO
1
480
Deep Space Network (abreviated)
tonyrice
0
36
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
280
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
43
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
53
YesSQL, Process and Tooling at Scale
rocio
174
15k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
49
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Transcript
! START CONTRIBUTING TO COCOAPODS COCOAPODS 3RD WWDC MEETUP, JUNE
2014 BORIS BÜGLING - @NEONACHO
HI!
Y U NO SUBMODULES?
LAST YEAR
None
INTEGRAL PART OF MY WORKFLOW
None
▸ Random assignment of issues ▸ Super helpful team ▸
Leaderboard
RAINFOREST
$ git clone https://github.com/CocoaPods/Rainforest.git $ cd Rainforest $ rake bootstrap
$ rake local_dependencies_set $ CocoaPods/bin/pod --help
▸ Core ▸ cocoapods-downloader ▸ Xcodeproj ▸ CocoaPods
CORE spec = Pod::Specification.from_file('CPDColors.podspec') puts spec.name puts spec.version $ ./core.rb
CPDColors 0.1.0
COCOAPODS-DOWNLOADER def download_head! hg! %|clone #{url} #{@target_path.shellescape}| [...] end def
download_revision! hg! %|clone "#{url}" --rev '#{options[:revision]}' #{@target_path [...] end def download_tag! hg! %|clone "#{url}" --updaterev '#{options[:tag]}' #{@target_path [...] end
XCODEPROJ wrkspace = Xcodeproj::Workspace.new_from_xcworkspace( 'CPDColors/Example/Demo.xcworkspace') puts wrkspace.schemes $ ./xcodeproj.rb {"Demo"=>"/Users/boris/Projects/CPDColors/Example/Demo.xcodeproj",
"Pods"=>"/Users/boris/Projects/CPDColors/Example/Pods/Pods.xcodeproj"}
COCOAPODS $ pod install Analyzing dependencies Pre-downloading: `DBCamera` from `https://github.com/[...]`
Downloading dependencies Installing ARASCIISwizzle (1.1.0) Installing Bolts (1.1.0) [...] Generating Pods project Integrating client project
RUBY $ irb ▸ Interactive Ruby Shell
RUBY irb(main):001:0> "Hello World" => "Hello World"
RUBY irb(main):019:0> def h(name = "World") irb(main):020:1> puts "Hello #{name.capitalize}!"
irb(main):021:1> end => :h irb(main):022:0> h "chris" Hello Chris!
RUBY irb(main):001:0> a NameError: undefined local variable or method `a'
for main:Object from (irb):1 from /usr/bin/irb:12:in `<main>' irb(main):002:0> a = b NameError: undefined local variable or method `b' for main:Object from (irb):2 from /usr/bin/irb:12:in `<main>' irb(main):003:0> a = a => nil
LEARNING MORE ABOUT RUBY ▸ http://mislav.uniqpath.com/poignant-guide/ ▸ https://www.ruby-lang.org/en/documentation/ quickstart/
PLEASE USE THE SYSTEM RUBY!
THANKS!
https://github.com/CocoaPods/Rainforest
None