录制iOS模拟器会生成空文件

6
我正在尝试使用 xcrun simctl io booted recordVideo recording.mov 记录我的iOS 11.4模拟器屏幕。这将创建一个名为 recording.mov 的文件,但不幸的是该文件始终为0字节。调整 --type 参数也无济于事。偶尔会生成一个可播放的文件,但此文件在QuickTime中打开时会出现扭曲的外观,并且VLC根本无法播放它。
我正在使用支持Metal的2014款MacBook Pro和Xcode 9.4.1。
请问有人有解决我的问题的建议吗?

你应该看一下@Harish的答案,它解决了我的问题... - Zaphod
3个回答

4

视频录制中存在一个时间错误,可能会导致某些系统上的0字节文件。很抱歉,但不幸的是没有解决方法。这应该在Xcode 10 Beta 3+中进行更改以解决问题。


1
确实在我的Xcode 9.4.1和Xcode 10 Beta 2中失败了,但我刚刚尝试了Xcode Beta 4,它可以工作,尽管生成的视频有一些奇怪的故障,就像图像正在融化一样 :( - endavid

2
我曾经遇到过同样的问题,为此苦恼了好几天。但解决方法其实很简单。确保你按下Control + C并退出模拟器。一旦你退出模拟器,它就开始真正地生成录制内容。

1
你刚刚救了我的命! - Zaphod
关键步骤是退出模拟器。这在我的Xcode 9.4上有效,但视频中有很多视觉伪影。 - wyu

1

您需要指定要记录的设备,而“booted”无效。

运行此命令以查看已启动的内容:

xcrun simctl list | grep Booted

在我的情况下,我看到:
iPhone X (D3DB2489-B630-42AB-A615-A2F07F6F6876) (Booted)

记录此设备:

xcrun simctl io D3DB2489-B630-42AB-A615-A2F07F6F6876 recordVideo ~/simrecord.mov

以下是我的终端示例输出:

[ ~] xcrun simctl list | grep Booted
    iPhone X (D3DB2489-B630-42AB-A615-A2F07F6F6876) (已启动)
[ ~] xcrun simctl io D3DB2489-B630-42AB-A615-A2F07F6F6876 recordVideo ~/simrecord.mov
GVA编码器信息:重新计算fps: 11.353266,GOP大小(图片):340,GOP大小(秒):30.000000 
正在录制...(按CTRL+C停止)
^C
录制完成。
[ ~] ls -lrt | tail -1
-rw-r--r--    1 shawd  staff  32933285 6月 29 16:34 simrecord.mov

还有一件事要提到的是,你也可以很容易地使用Mac上的Quicktime来录制模拟器。这是大多数人的做法。


2
谢谢您的建议,但不幸的是,这仍然给我相同大小为0字节的文件。 - NKO
你知道在文件写入之前必须停止录制,对吗?我已经更新了我的答案并附上了终端输出。 - David S.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接