EBBannerView
EBBannerView copied to clipboard
iOS14崩溃问题修改建议
if (@available(iOS 13.0, *)) { NSEnumerator *frontToBackWindows = [UIApplication.sharedApplication.windows reverseObjectEnumerator]; for (UIWindow *window in frontToBackWindows) { BOOL windowOnMainScreen = window.screen == UIScreen.mainScreen; BOOL windowIsVisible = !window.hidden && window.alpha > 0; BOOL windowLevelNormal = window.windowLevel == UIWindowLevelNormal; if (windowOnMainScreen && windowIsVisible && windowLevelNormal) { return [window hitTest:point withEvent:event]; break; } } // return [UIApplication.sharedApplication.keyWindow hitTest:point withEvent:event]; }
这样取最上层window而不是直接拿keyWindow.
swift版本依然会闪退,参考了上面写法
仍然会崩溃
if (@available(iOS 13.0, *)) { NSEnumerator *frontToBackWindows = [UIApplication.sharedApplication.windows reverseObjectEnumerator]; for (UIWindow *window in frontToBackWindows) { BOOL windowOnMainScreen = window.screen == UIScreen.mainScreen; BOOL windowIsVisible = !window.hidden && window.alpha > 0; BOOL windowLevelNormal = window.windowLevel == UIWindowLevelNormal; if (windowOnMainScreen && windowIsVisible && windowLevelNormal) { return [window hitTest:point withEvent:event]; break; } } // return [UIApplication.sharedApplication.keyWindow hitTest:point withEvent:event]; } 这样取最上层window而不是直接拿keyWindow.
貌似只有iOS14会崩溃,iOS15高版本,都是低版本都不会崩溃。。。不过还是建议作者修复一下。