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
CLI apps. For fun and profit
Search
Marin Usalj
May 29, 2014
Programming
16k
4
Share
CLI apps. For fun and profit
Talk given at Cocoa Kucha on #inspect conference, May 2014
Marin Usalj
May 29, 2014
More Decks by Marin Usalj
See All by Marin Usalj
Code signing on iOS/OSX
supermarin
2
490
Launch Arguments - the mysteries
supermarin
1
240
Swift for CLI tools
supermarin
16
25k
CocoaPods intro
supermarin
2
240
Private pods - best practices
supermarin
1
190
Alcatraz internals
supermarin
2
330
ObjectiveSugar & ObjectiveRecord
supermarin
5
580
Alcatraz - Xcode package manager
supermarin
3
340
BubbleWrap
supermarin
3
350
Other Decks in Programming
See All in Programming
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
440
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
930
The free-lunch guide to idea circularity
hollycummins
0
400
Ruby and LLM Ecosystem 2nd
koic
1
1.4k
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
120
PHPで TLSのプロトコルを実装してみる
higaki_program
0
730
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
180
Rethinking API Platform Filters
vinceamstoutz
0
5.6k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
310
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.7k
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
560
The Pragmatic Product Professional
lauravandoore
37
7.2k
Chasing Engaging Ingredients in Design
codingconduct
0
160
Building Applications with DynamoDB
mza
96
7k
For a Future-Friendly Web
brad_frost
183
10k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
430
Transcript
CLI APPS. FOR FUN AND PROFIT @SUPERMARIN
WHEN FUNCTIONALITY NOT SUPPORTED BY GUI IT'S HARD TO AUTOMATE
TASKS ENDLESS POSSIBILITIES
HOW DO I RUBY, GO, PYTHON, EVEN OBJECTIVE-C
PIPELINE CAT BUILD.LOG | GREP ERROR | WC -L
STATUS CODES $ XCODEBUILD | TEE XCODEBUILD.LOG | XCPRETTY
XCODEBUILD FAILS, STATUS 0
PIPESTATUS [] $ xcodebuild | tee output.log | xcpretty $?
=> 0 ${PIPESTATUS[0]} => 65 ${PIPESTATUS[2]} => 0 $ xcodebuild | tee output.log | xcpretty; exit ${PIPESTATUS[0]}
SET -O PIPEFAIL $ xcodebuild | tee output.log | xcpretty
$ echo $? => 65
BEWARE OF YOUR $SHELL | $SHELL | Exit status |
Pipe status | Set a var | |--------|-------------|---------------|-------------| | bash | $? | $PIPESTATUS | export VAR= | |--------|-------------|---------------|-------------| | zsh | $status | $pipestatus | export VAR= | |--------|-------------|---------------|-------------| | fish | $status | / | set -x VAR |
#! #!/USR/BIN/ENV RUBY
POSIX FLAGS $ COMMAND --VERBOSE --COLOR = $ COMMAND -VC
(ONLY IN SILICON VALLEY)
CLI FRAMEWORKS DON'T DIY
XCPRETTY GITHUB.COM/SUPERMARIN/XCPRETTY
SUCH HTML
WHY IN THE WORLD? THERE'S XCTOOL
XCTOOL(XCODEBUILD) -FLAG -FLAG WRAPPING XCODEBUILD, RECREATING FLAGS
XCODEBUILD -FLAG -FLAG | XCPRETTY USING VANILLA XCODEBUILD
XCTOOL - TESTS maintaining separate settings XCODEBUILD - BETA XCODEBUILD
- APPSTORE maintaining separate settings
USED BY RUBYMOTION FACEBOOK (POP) AFNETWORKING KIWI YAMMER THOUGHTBOT MANY
OTHERS
<3 HIPBYTE YAMMER @KATTRALI