录制 iOS 模拟器产生空文件

Recording iOS Simulator produces empty files

我正在尝试使用 xcrun simctl io booted recordVideo recording.mov 录制我的 iOS 11.4 模拟器的屏幕。这将创建一个具有该名称的文件,但不幸的是该文件的大小始终为 0 字节。使用 --type 参数也无济于事。偶尔会有一个可播放的文件,它也有一定程度的损坏,因为这个文件在 QuickTime 中打开时看起来很扭曲。 VLC 根本无法播放。

我在配备独立 GPU 的 2014 MacBook Pro 上使用 Xcode 9.4.1,因此支持 Metal。

有没有人有解决我的问题的建议?

您必须指定要录制的设备,"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) (Booted)
[ ~] xcrun simctl io D3DB2489-B630-42AB-A615-A2F07F6F6876 recordVideo ~/simrecord.mov
GVA encoder info: recomputed for fps: 11.353266, gop size in pics: 340, gop size in sec: 30.000000 
Recording... (Press CTRL+C to stop)
^C
Recording completed.
[ ~] ls -lrt | tail -1
-rw-r--r--    1 shawd  staff  32933285 Jun 29 16:34 simrecord.mov

另一件值得一提的事情是,您还可以非常轻松地在 Mac 上使用 Quicktime 录制模拟器。大多数人都是这样做的。

我遇到了同样的问题,并且为此绞尽脑汁好几天了。修复结果很简单。确保按 Control + C 并退出模拟器。一旦您退出模拟器,它就会开始实际制作录音。

视频录制中存在时间错误,可能导致某些系统上的文件为 0 字节。对不起,但不幸的是没有解决方法。这应该通过 Xcode 10 Beta 3+ 中的更改来解决。