40

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?

9 Answers 9

46
defaults write com.apple.iphonesimulator ShowSingleTouches 1

single touch


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.

7
  • 21
    "How did I find this setting" +1 Commented Sep 4, 2018 at 15:05
  • 8
    Very nice. I wonder if there is a way to make it show up when doing a screen recording via xcrun simctl io booted recordVideo.
    – Daniel
    Commented Jan 16, 2019 at 15:36
  • 6
    This works for the simulator, but not for a recording of a real device. Commented May 22, 2019 at 17:00
  • 2
    Thanks @Jano. I played with that. Not real thrilled with it. It leaves the assistive touch control on all the time, and while apple's tap gesture may be great for indeed assisting people with that gesture, it's not great as a graphic for showing when and where something was touched. I guess I'll try one of the library solutions. Commented May 22, 2019 at 18:34
  • 5
    When recording video with xcrun simctl io booted recordVideo, the touches isn't recorded.
    – kelin
    Commented Jul 19, 2019 at 9:58
8

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).

5
  • 2
    Thank you for the answer. Fingertips works magically: supports swift, iOS simulator and very simple to install.
    – kelin
    Commented Sep 9, 2017 at 13:05
  • Is there any way using Fingertips to record this output? Tried sending it to Quicktime on Mac but the visualization of gestures doesn't seem to happen with that setup. Commented Sep 12, 2017 at 21:43
  • @RegularExpression Yes. You can set an option on Fingertips alwaysShowTouches = true.
    – PaulMest
    Commented Sep 8, 2018 at 18:08
  • I needed something for C# Xamarin.iOS, and I'm Obj-C illiterate, so I found a Swift implementation github.com/LukasCZ/GSTouchesShowingWindow-Swift
    – Colin
    Commented Nov 9, 2018 at 3:49
  • 1
    My port of Lukas' GSTouchesShowingWindow-Swift for Xamarin: github.com/ColinNg/GSTouchesShowingWindow-Xamarin
    – Colin
    Commented Nov 9, 2018 at 19:16
7

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.

4
  • 1
    I'm using iOS 9.2 and OS X 10 - I don't see the touch events when I record my iPhone demos. You said "don't get captured on iOS 9 and lower" but both my OS's are up to date. What did you mean?
    – Dave
    Commented Mar 5, 2016 at 15:52
  • 3
    He is just making this post future proof :)
    – Johnny Z
    Commented Aug 9, 2016 at 1:29
  • P.S.: There's still no way to capture Gestures through Quicktime (iOS 11.3, Mac OS 10.13) Commented Apr 20, 2018 at 18:55
  • @JohnnyZ well done! My hedge was only needed for 16 months or so. The future has come already.
    – bmike
    Commented Jul 19, 2019 at 10:50
4

If you are building your own app, there are a few libraries that you can use. At the time of posting, here are the 4 iOS libraries I've found ordered by GitHub stars:

  1. https://github.com/conopsys/COSTouchVisualizer (Obj-C, 936 stars)
  2. https://github.com/mapbox/Fingertips (Obj-C, 724 stars)
  3. https://github.com/morizotter/TouchVisualizer (Swift, 638 stars)
  4. https://github.com/toddreed/Touchpose (Obj-C, 533 stars)
1
4

Free, portable and effective solution by Kane Cheshire: ShowTime.

Can be added via cocoapods or by including single file into the project. Thanks him for his efforts!

2

You can do it creating your own tap gesture through Settings > General > Accessibility > AssistiveTouch > CreateNewGesture as it is explained in the following link: record-iphone-ios-screen-showing-touches-tap-signs

Then, select the gesture as a favourite before recording the movie with QuickTime player.

2
  • Welcome to Ask Different! Please refrain from providing primarily 'link' answers. We're trying to find the best answers and those answers will provide info as to why they're the best. Links can change over time and then we lose the question-answer context. See How to Answer on how to provide a quality answer. - From Review -
    – fsb
    Commented Aug 23, 2016 at 14:46
  • Or you can do it by code adding some of these libraries to your project: TouchVisualizer or COSTouchVisualizer
    – smora
    Commented Aug 23, 2016 at 15:02
2

You can also touch /AppleInternal on your drive to unlock hidden options in simulator (GUI to some of these hidden defaults)

Might need to boot into recovery to do this on modern OS versions

1
  • Should be noted that this will only work on High Sierra and older.
    – iCediCe
    Commented Feb 12, 2019 at 11:57
0

I've been looking for a solution as well since video conferences are essential nowadays. I am able to add a touch indicator in a real device using a Bluetooth mouse.

I was able to connect my MX Master 2S mouse to an iPad by following this guide: https://support.apple.com/en-us/HT210546

0

Just connect a bluetooth mouse to your iphone / ipad. It works perfectly ! https://support.apple.com/en-us/HT210546

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .