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
Boris Bügling
June 02, 2014
Technology
1
88
🚀 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.6k
Cross-platform Swift
neonichu
4
18k
Building better API clients in Swift
neonichu
1
300
Cross-platform Swift
neonichu
3
910
Swift Package Manager
neonichu
2
330
Swift Package Manager
neonichu
0
53
📺
neonichu
0
2k
Cross-Platform Swift
neonichu
0
82
Swift Package Manager
neonichu
6
4.3k
Other Decks in Technology
See All in Technology
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
570
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
480
Micro Frontends: Necessity, Implementation, and Challenges
rainerhahnekamp
2
370
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
110
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
410
【日本Zabbixユーザー会】LLDを理解するときの勘所 〜LLDのある世界を楽しもう!〜
yoshitake945
0
120
Стильный код: натуральный поиск редких атрибутов по картинке. Юлия Антохина, Data Scientist, Lamoda Tech
lamodatech
0
520
プロダクト開発におけるAI時代の開発生産性
shnjtk
2
210
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
170
GitHub MCP Serverを使って Pull Requestを作る、レビューする
hiyokose
2
720
All You Need Is Kusa 〜Slackデータで始めるデータドリブン〜
jonnojun
0
140
はじめてのSDET / My first challenge as a SDET
bun913
1
210
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Site-Speed That Sticks
csswizardry
5
480
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
Designing for Performance
lara
607
69k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Adopting Sorbet at Scale
ufuk
76
9.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
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