Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
🚀 Start Contributing to CocoaPods
Search
Boris Bügling
June 02, 2014
Technology
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
🚀 Start Contributing to CocoaPods
Presentation given at CocoaPods 3rd WWDC Meetup, June 2014.
Boris Bügling
June 02, 2014
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
360
Cross-platform Swift
neonichu
3
970
Swift Package Manager
neonichu
2
380
Swift Package Manager
neonichu
0
93
📺
neonichu
0
2.1k
Cross-Platform Swift
neonichu
0
150
Swift Package Manager
neonichu
6
4.5k
Other Decks in Technology
See All in Technology
Optunaの最新リリースv5.0について
pfn
PRO
0
120
会社説明資料
persolserverworks
0
9.8k
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
200
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
220
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
1
470
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
450
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
290
hackers_champloo_2026_tidb
makocchi
0
170
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
880
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Talk to Developers About Accessibility
jct
2
580
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
First, design no harm
axbom
PRO
2
1.3k
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