Wasn’t aware of this, but turns out one can control (and interact with) the iOS Simulator straight from the command line.
There’s no need to install anything new though. The tool we’re going to be using is already on our Mac, hiding inside the
xcrun
command, which gets installed with Xcode.It’s called
simctl
.
Here’s a few examples:
# open a URL
xcrun simctl openurl booted "https://littlebitesofcocoa.com"
# upload an image to the iOS Simulator
xcrun simctl addmedia booted ~/images/image1.png ~/images/image2.jpg
# Take a screenshot
xcrun simctl io booted screenshot ~/Desktop/screenshot.png
# Record a video
xcrun simctl io booted recordVideo --type=mp4 ~/Desktop/movie.mp4
Other commands include booting/stopping a device, clipboard operations, launching/terminating processes, installing/uninstalling apps, etc. — No touch events though, that would’ve been real fun.
Little bits of Cocoa: Interacting with the iOS Simulator using simctl
→
Sidenote: digging a bit deeper into this I stumbled upon fbsimctl
. Their features are quite the same which makes me wonder if fbsimctl
uses simctl
underneath its hood, or if simctl
came later and copied features from fbsimctl
.