diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 216e53b..475b18f 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -10,7 +10,7 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ UnknownDevice = 0, Simulator = 1, - + iPhone4 = 3, iPhone4S = 4, iPhone5 = 5, @@ -57,7 +57,9 @@ typedef NS_ENUM(NSInteger, DeviceSize){ Screen4inch = 2, Screen4Dot7inch = 3, Screen5Dot5inch = 4, - Screen5Dot8inch = 5 + Screen5Dot8inch = 5, + Screen6Dot1inch = 6, + Screen6Dot5inch = 7 }; @interface SDiOSVersion : NSObject diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index fcf181c..b74cd99 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -116,12 +116,15 @@ + (DeviceVersion)deviceVersion + (DeviceSize)resolutionSize { + UIScreen *screen = [UIScreen mainScreen]; + CGSize screenSize = screen.bounds.size; + CGFloat screenScale = screen.scale; CGFloat screenHeight = 0; if ([SDiOSVersion versionGreaterThanOrEqualTo:@"8"]) { - screenHeight = MAX([[UIScreen mainScreen] bounds].size.height, [[UIScreen mainScreen] bounds].size.width); + screenHeight = MAX(screenSize.height, screenSize.width); } else { - screenHeight = [[UIScreen mainScreen] bounds].size.height; + screenHeight = screenSize.height; } if (screenHeight == 480) { @@ -134,6 +137,10 @@ + (DeviceSize)resolutionSize return Screen5Dot5inch; } else if (screenHeight == 812) { return Screen5Dot8inch; + } else if (screenHeight == 896 && screenScale == 2) { + return Screen6Dot1inch; + } else if (screenHeight == 896 && screenScale == 3) { + return Screen6Dot5inch; } else return UnknownSize; } @@ -160,6 +167,8 @@ + (NSString *)deviceSizeName:(DeviceSize)deviceSize @(Screen4Dot7inch) : @"4.7 inch", @(Screen5Dot5inch) : @"5.5 inch", @(Screen5Dot8inch) : @"5.8 inch", + @(Screen6Dot1inch) : @"6.1 inch", + @(Screen6Dot5inch) : @"6.5 inch" }[@(deviceSize)]; }