Unknown error [UIWindow endDisablingInterfaceAutor

2019-02-07 05:54发布

问题:

I am receiving this error. I have no clue as to why it would be called, and Google didn't really help. Any suggestions?

-[UIWindow endDisablingInterfaceAutorotation] called on <UIWindow: 0x4e0ec50; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x4e0f9e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring.

回答1:

Looks like you have to call -beginDisablingInterfaceAutorotation first and you're not doing that.



回答2:

I recently had the same problem. It turned out that I was accidentally displaying the same UIActionSheet twice. eg.

[actionSheet showInView:aView];

... more code ...

// WOOPS! I already did this
[actionSheet showInView:aView];

When the UIActionSheet gets dismissed (for about the 12th time, probably the -beginDisablingInterfaceAutorotation stack depth) it caused the error. Removing the redundant call to -showInView: fixed the problem.



回答3:

I've had a similar issue when performing a custom UIViewController presentation using a UIViewControllerAnimatedTransitioning class. For me, the printouts looked like the following:

-[UIApplication endIgnoringInteractionEvents] called without matching -beginIgnoringInteractionEvents. Ignoring.
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UIWindow: 0x7f9f83f42db0; frame = (0 0; 375 667); autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9f83f44ed0>; layer = <UIWindowLayer: 0x7f9f83f40ca0>> without matching -beginDisablingInterfaceAutorotation. Ignoring.
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UITextEffectsWindow: 0x7f9f862553a0; frame = (0 0; 375 667); opaque = NO; autoresize = W+H; layer = <UIWindowLayer: 0x7f9f83f9a1e0>> without matching -beginDisablingInterfaceAutorotation. Ignoring.

I found out that the error was caused by calling transitionContext.completeTransition(true) twice (once in animateTransition(_:), and another in a CAAnimation delegate animationDidStop(_:flag:) method). You might want to check that you aren't doing something similar.



回答4:

Adding UIViewAnimationOptionLayoutSubviews into the animation options solved my problem.



回答5:

I ran into a similar issue for no reason. Nothing had changed in my build. All I had to do was remove my application from my testing device, rebuild and redeploy and this issue was solved. Worth a shot!