From 68cd20f1bbd64ddf5407b634687d12398adfbdf6 Mon Sep 17 00:00:00 2001 From: naijoug Date: Thu, 2 Mar 2023 11:17:40 +0800 Subject: [PATCH 1/2] fix iOS13 crash "The status bar window cannot be accessed from within an application." --- .../UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m | 6 ------ 1 file changed, 6 deletions(-) diff --git a/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m b/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m index 26f7c4aa0..303130291 100644 --- a/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m +++ b/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m @@ -38,12 +38,6 @@ - (void)doraemon_layoutSubviews - (void)doraemonMetricsRecursiveEnable:(BOOL)enable { - // 状态栏不显示元素边框 - UIWindow *statusBarWindow = [[UIApplication sharedApplication] valueForKey:@"_statusBarWindow"]; - if (statusBarWindow && [self isDescendantOfView:statusBarWindow]) { - return; - } - for (UIView *subView in self.subviews) { [subView doraemonMetricsRecursiveEnable:enable]; } From 1251e0c768f9c965aa5de219a2752e7bba5f68b7 Mon Sep 17 00:00:00 2001 From: naijoug Date: Thu, 2 Mar 2023 13:57:56 +0800 Subject: [PATCH 2/2] optimize fix --- .../UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m b/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m index 303130291..1d34b578f 100644 --- a/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m +++ b/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m @@ -38,6 +38,15 @@ - (void)doraemon_layoutSubviews - (void)doraemonMetricsRecursiveEnable:(BOOL)enable { + // 状态栏不显示元素边框 + if (@available(iOS 13.0, *)) { + } else { + UIWindow *statusBarWindow = [[UIApplication sharedApplication] valueForKey:@"_statusBarWindow"]; + if (statusBarWindow && [self isDescendantOfView:statusBarWindow]) { + return; + } + } + for (UIView *subView in self.subviews) { [subView doraemonMetricsRecursiveEnable:enable]; }