4
This commit is contained in:
@@ -31,3 +31,31 @@
|
||||
#ifndef KB_KEYCHAIN_ACCESS_GROUP
|
||||
#define KB_KEYCHAIN_ACCESS_GROUP @"TN6HHV45BB.com.loveKey.nyx.shared"
|
||||
#endif
|
||||
|
||||
// --- 设备特性:是否为带刘海机型(iPhone X 及以后异形屏)---
|
||||
// 说明:在 iPhone 12 等机型底部会有 34px 安全区,这里通过安全区来判断是否为“刘海屏”。
|
||||
// 注意:使用到 UIKit,这里自行引入,避免依赖 PCH 的包含顺序。
|
||||
#import <UIKit/UIKit.h>
|
||||
static inline BOOL KBDeviceHasNotchRuntime(void) {
|
||||
if (@available(iOS 11.0, *)) {
|
||||
UIWindow *window = nil;
|
||||
if (@available(iOS 13.0, *)) {
|
||||
for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) {
|
||||
if (scene.activationState == UISceneActivationStateForegroundActive && [scene isKindOfClass:[UIWindowScene class]]) {
|
||||
UIWindowScene *ws = (UIWindowScene *)scene;
|
||||
for (UIWindow *w in ws.windows) { if (w.isKeyWindow) { window = w; break; } }
|
||||
if (window) { break; }
|
||||
}
|
||||
}
|
||||
if (!window) { window = UIApplication.sharedApplication.windows.firstObject; }
|
||||
} else {
|
||||
window = UIApplication.sharedApplication.keyWindow;
|
||||
}
|
||||
return window.safeAreaInsets.bottom > 0.0;
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
#ifndef KB_DEVICE_HAS_NOTCH
|
||||
#define KB_DEVICE_HAS_NOTCH (KBDeviceHasNotchRuntime())
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user