1

我看到下面的 APIGREYConfiguration说 EarlGrey 默认截断 CALayer 动画超过 10 秒 -

/**
 *  Configuration for setting max allowable animation duration (in seconds) for any CALayer based
 *  animation. Animations exceeding the specified time will have their duration truncated to value
 *  specified by this config.
 *
 *  Accepted values: @c double (negative values shouldn't be used)
 *  Default value: 10.0
 */
GREY_EXTERN NSString *const kGREYConfigKeyCALayerMaxAnimationDuration;

我正在开发一个小型游戏应用程序,其中包含许多此类动画。我注意到当我启用动画时,我的测试需要很长时间才能运行,这是我的 UI 测试所必需的。我知道我可以使用UIApplication.sharedApplication.keyWindow.layer.speed. 有什么方法可以让我只为我的 EarlGrey 测试更改它吗?

4

1 回答 1

3

把你UIApplication.sharedApplication.keyWindow.layer.speed放在一个条件语句后面:

#if EARLGREY_ENV
UIApplication.sharedApplication.keyWindow.layer.speed = 100
#endif

这行代码只会在应用程序通过 Earl Grey 运行时执行。

有关在 Earl Grey 中处理动画的更多信息,请参阅我应该如何处理动画?他们的常见问题解答下。

于 2016-07-18T14:33:13.383 回答