@@ -1045,7 +1045,7 @@ BOOL ZD_isJailbroken(void) {
1045
1045
// 当前设备是否设置了代理
1046
1046
BOOL ZD_isSetProxy (void ) {
1047
1047
NSDictionary *proxySettings = (__bridge NSDictionary *)(CFNetworkCopySystemProxySettings ());
1048
- NSArray *proxies = (__bridge NSArray *)(CFNetworkCopyProxiesForURL ((__bridge CFURLRef _Nonnull)([NSURL URLWithString: @" http ://www.baidu.com" ]), (__bridge CFDictionaryRef _Nonnull)(proxySettings)));
1048
+ NSArray *proxies = (__bridge NSArray *)(CFNetworkCopyProxiesForURL ((__bridge CFURLRef _Nonnull)([NSURL URLWithString: @" https ://www.baidu.com" ]), (__bridge CFDictionaryRef _Nonnull)(proxySettings)));
1049
1049
1050
1050
NSDictionary *settings = proxies.firstObject ;
1051
1051
return ![[settings objectForKey: (NSString *)kCFProxyTypeKey ] isEqualToString: (NSString *)kCFProxyTypeNone ];
@@ -1141,12 +1141,43 @@ BOOL ZD_iPhone6p(void) {
1141
1141
横屏尺寸:2436px × 1125px(812pt × 375pt @3x)
1142
1142
*/
1143
1143
BOOL ZD_iPhoneX (void ) {
1144
- if (ZD_PrivateScreenSize ().height == 812 ) {
1145
- return YES ;
1144
+ if (@available (iOS 11.0 , *)) {
1145
+ UIWindow *window = ZD_CurrentWindow () ?: UIWindow.new ;
1146
+ return window.safeAreaInsets .top > 0 ;
1146
1147
}
1147
1148
return NO ;
1148
1149
}
1149
1150
1151
+ UIWindow * _Nullable ZD_CurrentWindow (void ) {
1152
+ UIApplication *application = UIApplication.sharedApplication ;
1153
+ UIWindow *delegateWindow = application.delegate .window ;
1154
+ if (delegateWindow) {
1155
+ return delegateWindow;
1156
+ }
1157
+
1158
+ if (@available (iOS 13.0 , *)) {
1159
+ for (UIScene *scene in application.connectedScenes ) {
1160
+ id <UIWindowSceneDelegate> delegate = (id )scene.delegate ;
1161
+ if (![delegate respondsToSelector: @selector (window )]) {
1162
+ continue ;
1163
+ }
1164
+ UIWindow *win = delegate.window ;
1165
+ if (win) {
1166
+ return win;
1167
+ }
1168
+ }
1169
+ UIWindow *mainWindow = application.windows .firstObject ;
1170
+ return mainWindow;
1171
+ }
1172
+ else {
1173
+ #pragma clang diagnostic push
1174
+ #pragma clang diagnostic ignored"-Wdeprecated-declarations"
1175
+ UIWindow *keyWindow = application.keyWindow ;
1176
+ #pragma clang diagnostic pop
1177
+ return keyWindow;
1178
+ }
1179
+ }
1180
+
1150
1181
// refer: http://www.cnblogs.com/tandaxia/p/5820217.html
1151
1182
// / 获取 app 的 icon 图标名称
1152
1183
NSString *ZD_IconName (void ) {
0 commit comments