为什么iOS有时会禁用动画?

Ben*_*ero 5 animation cocoa-touch

我不确定是什么导致它,但我和我团队中的其他人发现,由于某种原因,iOS有时会决定完全禁用我们应用程序中的所有动画.iOS通用动画(视差,应用切换,主页按钮等)仍然启用,因此仅限于我们的应用.

这不是一个问题,如果它不是因为看起来有些事情似乎-[UIResponder becomeFirstResponder]不会立即起作用,否则将是一个幻影动画(例如,在viewDidAppear方法或块中a -[UIViewController dismissViewControllerAnimated:completion:]).

我已经检查了我们的代码,以确保这不是我们做的事情,事实上我们只是将它传递YES到Cocoa Touch框架,当它询问我们是否想要动画时,我们的代码中没有任何一点(或者,就我而言)知道,在我们的第三方SDK中)被+[UIView setAnimationsEnabled:]称为.同样,我没有在iOS设置中做任何事情,比如"Reduce Motion",只是重新启动我们的应用程序或让iOS设备进入睡眠状态将会逆转这种状态.

那么,什么可能导致iOS禁用我们的应用程序使用系统动画的能力?另外,这是否会影响如何/何时/是否调用委托方法和回调块?

此外,有没有办法检测,触发或反转iOS禁用动画的决定?