Xcode UI Automation captureScreenWithName 无法在 iPhone 6 模拟器及更高版本上捕获整个屏幕

Xcode UI Automation captureScreenWithName doesn't capture entire screen on iPhone 6 simulator and up

我遇到了一个奇怪的问题,我的 Instruments UI 自动化脚本编写用于在我的应用程序中的各个点捕获屏幕截图,当在 iPhone 6 或更高版本上模拟时无法捕获整个屏幕, 但在 iPhone 4S、5 和 5S 模拟器上完美运行。

我是 运行 完全相同的脚本,并尝试了许多不同的变体,包括在调用前后添加 target.delay(1),但没有效果。似乎是 captureScreenWithName 函数本身失败了。

这是在 iPhone 4S 模拟器上捕获的屏幕:

这是在 iPhone 6 模拟器上以相同方式捕获的相同屏幕:

这也不是唯一发生的地方。我在一个完全不同的屏幕上试过,它也无法捕获整个图像。

似乎设备尺寸越大,屏幕截图中包含的内容就越少。某些内部进程可能 运行 内存不足或由于其他原因而失败?也许某处的日志中有一些东西。

有没有其他人遇到过这个问题或有任何想法如何fix/avoid它?

试试这个:

Debug -> Optimize Hardware for Window Scale

或者这样:

CMD + 1

使模拟器完整大小