EBBannerView icon indicating copy to clipboard operation
EBBannerView copied to clipboard

iOS14崩溃问题修改建议

Open jyh1516 opened this issue 4 years ago • 3 comments

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.

jyh1516 avatar Dec 01 '20 05:12 jyh1516

swift版本依然会闪退,参考了上面写法

Best199101 avatar Dec 23 '20 06:12 Best199101

仍然会崩溃

gorvell avatar Mar 24 '21 02:03 gorvell

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高版本,都是低版本都不会崩溃。。。不过还是建议作者修复一下。

zzdota avatar Dec 07 '21 08:12 zzdota