现在我们可以向App Store提交应用的视频预览。根据苹果公司的说法,我们应该在iOS8设备和OSX 10.10设备上这样做。问题是你必须拥有所有不同的设备(4英寸、4.7英寸、5.5英寸和iPad)。

还有别的选择吗?

我想拍一段模拟器的视频。问题是,当以100%分辨率显示时,设备屏幕比我的全高清显示器还大。任何解决方案,可以捕捉视频从模拟器的全分辨率?

编辑: 因为很多人都在回答我没有问的问题让我说 记录一个设备大小并缩放它不是我要求的 我问的不是如何录制应用预览 -我问的不是你怎么做预告片;

我想问的是,如果模拟器无法在屏幕上显示,你能否以100%分辨率录制视频?


当前回答

给喜欢使用ZSH函数的用户的提示。您可以通过添加一个与@Tikhonov Alexander的答案相同的函数来简化事情。

你可以这样开始:

edit ~/.zshrc

进入你的终端。

然后在文件中添加这个函数。

function recsim() {
    echo -n "Use CTRL+C to stop recording";
    xcrun simctl io booted recordVideo --codec=h264 --mask=black "$1.mp4";
}

要使用,输入如下内容:

recsim appPreview

进入你的终端窗口。注意:添加功能后必须重新启动终端才能工作。

此函数改编自Antoine Van Der Lee关于如何在bash中实现此功能的博客文章,可以在这里找到。

其他回答

使用Xcode 12.5的新版本,您可以简单地使用⌘+ r记录模拟器屏幕。有关详细信息,请访问这里。

You can use the QuickTime screen recording and the iOS Simulators to do your video recordings. The tricky thing here is to get the correct size so that iMovie can detect the output resolution when you go to export the AppPreview. I haven't found a way to select the output res in iMovie so if must detected by the format of the media you are using. It may take you several tries but it's doable. It's one of those: do I have $300 for FinalCut Pro or do I have an hour or so of my time? You only need three recordings as mentioned above. I could actually do two of them on devices because I have them but I don't have an iPhone 6 (yet ... :) ). I also like the simulators because you can use something like SimFinger to simulate gestures and pressing of buttons.

好运!

不幸的是,iOS模拟器应用程序不支持保存视频。最简单的事情就是使用Quicktime播放器来录制屏幕。当然,你会看到鼠标与它交互,这不是你想要的,但现在我没有更好的选择。

对于Xcode 8.2或更高版本

您可以使用xcrun simctl(一个命令行实用程序来控制模拟器)拍摄模拟器的视频和屏幕截图

在模拟器上运行应用程序 打开终端 执行命令 截图 xxrun simctl IO启动截图<filename>。<文件扩展名> 例如: xrun simctl io启动截图myScreenshot.png 拍一段视频 xrun simctl io boot recordVideo <filename>. txt<文件扩展名> 例如: xrun simctl io启动recordVideo appVideo.mov 按“ctrl + C”停止录像。

所创建文件的默认位置是当前目录。

Xcode 11.2及以后版本提供了额外的选项。

来自Xcode 11.2 Beta版本说明

simctl视频记录现在产生更小的视频文件,支持HEIC 压缩,并利用硬件编码支持的地方 可用。此外,可以在iOS 13上录制视频,tvOS 13, watchOS 6设备已恢复。

你可以使用额外的标志:

xcrun simctl io --help
Set up a device IO operation.
Usage: simctl io <device> <operation> <arguments>

...

    recordVideo [--codec=<codec>] [--display=<display>] [--mask=<policy>] [--force] <file or url>
        Records the display to a QuickTime movie at the specified file or url.
        --codec      Specifies the codec type: "h264" or "hevc". Default is "hevc".

        --display    iOS: supports "internal" or "external". Default is "internal".
                     tvOS: supports only "external"
                     watchOS: supports only "internal"

        --mask       For non-rectangular displays, handle the mask by policy:
                     ignored: The mask is ignored and the unmasked framebuffer is saved.
                     alpha: Not supported, but retained for compatibility; the mask is rendered black.
                     black: The mask is rendered black.

        --force      Force the output file to be written to, even if the file already exists.

    screenshot [--type=<type>] [--display=<display>] [--mask=<policy>] <file or url>
        Saves a screenshot as a PNG to the specified file or url(use "-" for stdout).
        --type       Can be "png", "tiff", "bmp", "gif", "jpeg". Default is png.

        --display    iOS: supports "internal" or "external". Default is "internal".
                     tvOS: supports only "external"
                     watchOS: supports only "internal"

                     You may also specify a port by UUID
        --mask       For non-rectangular displays, handle the mask by policy:
                     ignored: The mask is ignored and the unmasked framebuffer is saved.
                     alpha: The mask is used as premultiplied alpha.
                     black: The mask is rendered black.

现在你可以在jpeg中截图,带掩码(用于非矩形显示)和一些其他标志:

xrun simctl IO启动截图——type=jpeg——mask=黑色截图

苹果模拟器用户指南在“使用命令行截图或录制视频”段落中写道:

您可以使用xcrun命令行实用程序截取屏幕截图或录制模拟器窗口的视频。


要录制视频,请使用终端中的recordVideo操作:

xcrun simctl io booted recordVideo <filename>.<extension>

注意,该文件将在终端的当前目录中创建。


如果你想将视频文件保存在你的桌面文件夹中,使用以下命令:

xcrun simctl io booted recordVideo ~/Desktop/<filename>.<extension>

要停止录制,请在终端中按Control-C。