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
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
310
Cross-platform Swift
neonichu
3
940
Swift Package Manager
neonichu
2
340
Swift Package Manager
neonichu
0
62
📺
neonichu
0
2k
Cross-Platform Swift
neonichu
0
100
Swift Package Manager
neonichu
6
4.4k
Other Decks in Technology
See All in Technology
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
220
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
5
9.2k
How We Built a Secure Sandbox Platform for AI
flatt_security
1
130
生成AIが出力するテストコードのリアル よくあるコードと改善のヒント
starfish719
0
250
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
250
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
370
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
270
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
7.8k
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
630
AI駆動開発2025年振り返りとTips集
knr109
1
110
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
9.3k
TypeScript 6.0で非推奨化されるオプションたち
uhyo
15
5.2k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Statistics for Hackers
jakevdp
799
230k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Context Engineering - Making Every Token Count
addyosmani
9
420
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
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