Enable touch indicator for iOS app demo video recording
I would like to record a demo video of an iOS app with QuickTime on Yosemite. (I found this tutorial) Is it possible to enable a tap indicator, like a small circle, for touch events so users can easily spot where the author tapped?
Solution 1:
defaults write com.apple.iphonesimulator ShowSingleTouches 1
How did I find this setting?
Hidden options can be found by running the command below and then, well, figuring out what they do. They are undocumented and can be removed at any time.
strings /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator | grep -E '^[A-Z][[:alpha:]]+$'
If you can be bothered to go through the garbage add
| grep -E '(Enable|Disable|Show|Number)' | sort
I got
AppleTVRemoteWindowDidShow
EnableKeyboardSync
NSDisabledCharacterPaletteMenuItem
NSDisabledDictationMenuItem
NSScreenNumber
ShowChrome
ShowChromeUIRects
ShowPinchPivotPoint
ShowPinches
ShowSingleTouches
ShowUITestMenu
TouchBarShowRemoteTemplate
ShowChrome is Window > Show Device Bezels. ShowChromeUIRects draws some lines around the bezel. The pinch ones are self descriptive. ShowUITestMenu displays a disabled menu in the simulator bar (?). I’ll test TouchBarShowRemoteTemplate when I’m back in my Macbook touch. I don’t know what the others do.
For Xcode the command should be:
strings /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/IDEKit | grep -E '^IDE[[:alpha:]]+$'
and the defaults command should carry the prefix com.apple.dt.Xcode. For instance
defaults write com.apple.dt.Xcode IDEIndexerActivityShowNumericProgress 1
ShowSingleTouches is truly useful, but most options are meaningless or just noise. The command above for instance, shows you the number of files that are being indexed, instead a generic progress bar. Thus, just noise.
Solution 2:
The touch events don't get captured on iOS 9 and lower, so you'll need to either set up a camera to capture the taps and present that side by side with the detailed capture or use it to overlay the taps in post production.
This is such a great idea, that I've filed a bug report to officially ask Apple to support this.
- http://openradar.appspot.com/22538143
Solution 3:
If you want to demo your own applications (i.e. where you have the actual source code and can make a special demo build), then the best way is to add a helper to your Xcode project, such as https://github.com/toddreed/Touchpose or https://github.com/mapbox/Fingertips. Both overlay your touches with a (customizable) fingerprint indicator when connected to an external mirror (such as when using AirPlay or Quicktime to record).