为iOS应用演示视频录制启用触摸指示器


31

我想在优胜美地上用QuickTime录制一个iOS应用的演示视频。(我在本教程中找到了)是否可以为触摸事件启用一个小圆圈之类的轻击指示器,以便用户可以轻松地发现作者轻按的位置?

Answers:


33
defaults write com.apple.iphonesimulator ShowSingleTouches 1

单点触摸


我如何找到此设置的?

隐藏选项可以通过运行以下命令找到,然后搞清楚它们的作用。它们没有文档记录,可以随时删除。

strings /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator | grep -E '^[A-Z][[:alpha:]]+$' 

如果您可以打扰进行垃圾添加

| grep -E '(Enable|Disable|Show|Number)' | sort

我有

AppleTVRemoteWindowDidShow
EnableKeyboardSync
NSDisabledCharacterPaletteMenuItem
NSDisabledDictationMenuItem
NSScreenNumber
ShowChrome
ShowChromeUIRects
ShowPinchPivotPoint
ShowPinches
ShowSingleTouches
ShowUITestMenu
TouchBarShowRemoteTemplate

ShowChrome是“窗口”>“显示设备挡板”。ShowChromeUIRects在边框周围绘制一些线条。捏是自我描述。ShowUITestMenu在模拟器栏中显示一个禁用的菜单(?)。当我回到Macbook touch时,我将测试TouchBarShowRemoteTemplate。我不知道别人在做什么。

对于Xcode,命令应为:

strings /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/IDEKit | grep -E '^IDE[[:alpha:]]+$'

并且默认命令应带有前缀com.apple.dt.Xcode。例如

defaults write com.apple.dt.Xcode IDEIndexerActivityShowNumericProgress 1

ShowSingleTouches确实有用,但是大多数选项是没有意义的,或者仅仅是杂音。例如,上面的命令向您显示正在建立索引的文件数,而不是通用进度条。因此,只是噪音。


11
“我如何找到此设置的” +1
艾哈迈德·哈拉夫

3
非常好。我不知道在通过进行屏幕录制时是否有办法使它显示出来xcrun simctl io booted recordVideo
Daniel Pendergast

4
这适用于模拟器,但不适用于真实设备的记录。
Travis Griggs

@TravisGriggs为此尝试尝试辅助触摸。见apple.stackexchange.com/a/250290/8668
Jano的

谢谢@Jano。我玩了。对此并不真正兴奋。它始终保持辅助触摸控制,尽管苹果的点击手势可能确实可以帮助人们使用该手势,但它并不是用来显示何时何地被触摸的图形。我想我会尝试其中一种图书馆解决方案。
Travis Griggs,

7

触摸事件不会在iOS 9及更低版本上捕获,因此您需要设置一个摄像头来捕获水龙头,并与详细的捕获并排显示,或者在后期制作中使用它覆盖水龙头。

这是一个好主意,我已经提交了一个错误报告来正式要求苹果公司支持。


1
我正在使用iOS 9.2和OS X 10-录制iPhone演示时没有看到触摸事件。您说“不要在iOS 9及更低版本上被捕获”,但我的两个OS都是最新的。你什么意思?
戴夫G

3
他只是在为以后的发布做准备:)
Johnny Z'8

PS:仍然无法通过Quicktime(iOS 11.3,Mac OS 10.13)捕获手势
-Annjawn

@JohnnyZ做得好!我的树篱只需要16个月左右的时间。在未来已经来了
bmike

7

如果您想演示自己的应用程序(例如,您拥有实际的源代码并可以进行特殊的演示构建),那么最好的方法是向您的Xcode项目添加帮助程序,例如https://github.com/ toddreed / Touchposehttps://github.com/mapbox/Fingertips。当连接到外部镜子时(例如,使用AirPlay或Quicktime进行记录时),两者都会用(可自定义的)指纹指示器覆盖您的触摸。


2
谢谢你的回答。指尖具有神奇的效果:支持swift,iOS模拟器且安装非常简单。
凯林

有什么方法可以使用Fingertips记录此输出?尝试将其发送到Mac上的Quicktime,但手势设置的可视化似乎没有发生。
RegularExpression

@RegularExpression是的。您可以在Fingertips上设置一个选项alwaysShowTouches = true
PaulMest

我需要C#Xamarin.iOS所需的东西,而且我是Obj-C文盲,所以我找到了一个Swift实现github.com/LukasCZ/GSTouchesShowingWindow-Swift
Colin

1
我在Lukas的Xamarin的GSTouchesShowingWindow-Swift端口:github.com/ColinNg/GSTouchesShowingWindow-Xamarin
Colin,

2

您可以通过“设置”>“通用”>“辅助功能”>“ AssistiveTouch”>“ CreateNewGesture”创建自己的点击手势,如以下链接中所述:record-iphone-ios-screen-showing-touches-tap-signs

然后,在使用QuickTime播放器录制电影之前,将手势选择为收藏夹。


欢迎询问不同!请避免主要提供“链接”答案。我们正在尝试找到最佳答案,这些答案将提供有关为何最佳答案的信息。链接会随着时间而变化,然后我们会失去问答环境。有关如何提供优质答案的信息,请参见如何回答。-来自评论-–
fsb

或者,您也可以通过代码将这些库中的一些添加到项目中来实现:TouchVisualizerCOSTouchVisualizer
smora

2

如果要构建自己的应用程序,则可以使用一些库。发布时,这是我发现的4个iOS库(按GitHub星级排序):

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

我移植GSTouchesShowingWindow -斯威夫特Xamarin.iOS:github.com/ColinNg/GSTouchesShowingWindow-Xamarin我的坏端口是越野车,但对于短期运行也没关系。
科林

1

您还可以触摸驱动器上的/ AppleInternal来解锁模拟器中的隐藏选项(GUI为其中一些隐藏默认值)

可能需要启动恢复才能在现代OS版本上执行此操作


应该注意的是,这仅适用于High Sierra及更高版本。
iCediCe

0

Kane Cheshire提供的免费,便携式且有效的解决方案:ShowTime

可以通过cocoapods添加或通过将单个文件添加到项目中来添加。感谢他的努力!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.