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
Using KSScreenshotManager
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Chuck Shnider
June 16, 2013
Programming
0
94
Using KSScreenshotManager
Slides from my talk at Ottawa Cocoaheads on March 14, 2013.
Chuck Shnider
June 16, 2013
Tweet
Share
More Decks by Chuck Shnider
See All by Chuck Shnider
A look back at GameDev on Apple II
chucks
0
600
Fun With Auto Layout
chucks
0
130
Introducing Skateway 2.0
chucks
0
51
Other Decks in Programming
See All in Programming
CSC307 Lecture 07
javiergs
PRO
0
550
CSC307 Lecture 06
javiergs
PRO
0
680
今から始めるClaude Code超入門
448jp
7
8.4k
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
160
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
Implementation Patterns
denyspoltorak
0
280
AtCoder Conference 2025
shindannin
0
1k
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
630
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
4
310
Package Management Learnings from Homebrew
mikemcquaid
0
210
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Ruling the World: When Life Gets Gamed
codingconduct
0
140
The agentic SEO stack - context over prompts
schlessera
0
630
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
680
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Marketing to machines
jonoalderson
1
4.6k
Paper Plane
katiecoart
PRO
0
46k
We Have a Design System, Now What?
morganepeng
54
8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
97
Transcript
KSScreenshotManager Chuck Shnider twi er: @cshnider ∑
It starts small enough…
None
None
None
None
We’re Gonna Need a Bigger Slide…
None
Production Work
Heaven forbid you have to update them later!
KSScreenshotManager wri en by Kent Sutherland from Flexibits twi er:
@KSuther
@KSuther
h ps://github.com/ksuther/KSScreenshotManager Open-Source
KSScreenshotManager •Make your code generate the screenshots •Fully-Automated •Runnable from
scripting environments •Sample Python Script included •Uses “WaxSim” to drive the iOS Simulator
Like Test Automation •Not “For Free” •Cheaper to repeat over
time •Effort scales more slowly than manual screenshots
Modifying Your Code •WARNING Private API Usage! •Make sure none
of this ships to the AppStore •Conditional Compile and perhaps use a new target
Modifying Your Code •Add KSScreenshotManager and KSScreenshotAction.h / .m to
your project. #de ne CREATING_SCREENSHOTS
Modifying Your Code •Create a subclass of KSScreenshotManager •Override -(void)setupScreenshotActions;
setupScreenshotActions •Create instances of KSScreenshotAction •block-based API with optional cleanup
blocks •synch or async, status bar or no [self addScreenshotAction:newAction];
KSScreenshotAction block •Get the app to the correct state •Cheat
as necessary •Fake Data, Mock Objects, etc. •Private APIs, both app and OS
AppDelegate Changes #if CREATING_SCREENSHOTS dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 *
NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ MyScreenshotManager *screenshotManager = [[MyScreenshotManager alloc] init]; [screenshotManager setTableViewController:viewController]; [screenshotManager takeScreenshots]; }); #endif
Demo