diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj index 04680a4..b6d707c 100755 --- a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj @@ -543,28 +543,34 @@ 9AA6624019BFABFC0055042F /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0910; + LastUpgradeCheck = 1100; ORGANIZATIONNAME = "Sebastian Dobrincu"; TargetAttributes = { 1FC73CFF1D244B87005F81DA = { CreatedOnToolsVersion = 7.3.1; + ProvisioningStyle = Manual; }; 1FC73D0B1D244B87005F81DA = { CreatedOnToolsVersion = 7.3.1; + ProvisioningStyle = Manual; }; 1FE53CBE1D3FF490005739A5 = { CreatedOnToolsVersion = 7.3.1; + ProvisioningStyle = Manual; }; 1FE53CD31D3FF491005739A5 = { CreatedOnToolsVersion = 7.3.1; + ProvisioningStyle = Manual; TestTargetID = 1FE53CBE1D3FF490005739A5; }; 9AA6624719BFABFC0055042F = { CreatedOnToolsVersion = 6.0; + ProvisioningStyle = Manual; }; 9AA6626019BFABFC0055042F = { CreatedOnToolsVersion = 6.0; LastSwiftMigration = 0820; + ProvisioningStyle = Manual; TestTargetID = 9AA6624719BFABFC0055042F; }; E2D975171B8265DF00675936 = { @@ -579,7 +585,7 @@ }; buildConfigurationList = 9AA6624319BFABFC0055042F /* Build configuration list for PBXProject "SDVersion" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -820,13 +826,16 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; IBSC_MODULE = SDwatchOSVersion_Extension; INFOPLIST_FILE = SDwatchOSVersion/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDiOSVersion.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; @@ -839,13 +848,16 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; IBSC_MODULE = SDwatchOSVersion_Extension; INFOPLIST_FILE = SDwatchOSVersion/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDiOSVersion.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; @@ -857,13 +869,16 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "SDwatchOSVersion Extension/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDiOSVersion.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; @@ -875,13 +890,16 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "SDwatchOSVersion Extension/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDiOSVersion.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; @@ -895,12 +913,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = SDtvOSVersion/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDtvOSVersion; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; @@ -913,13 +934,16 @@ ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = SDtvOSVersion/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDtvOSVersion; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; @@ -931,12 +955,15 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = SDtvOSVersionTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDtvOSVersionTests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SDtvOSVersion.app/SDtvOSVersion"; TVOS_DEPLOYMENT_TARGET = 9.0; @@ -948,13 +975,16 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = SDtvOSVersionTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.dobrincusebastian.SDtvOSVersionTests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SDtvOSVersion.app/SDtvOSVersion"; TVOS_DEPLOYMENT_TARGET = 9.0; @@ -966,6 +996,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_WARNINGS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -974,12 +1005,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -1019,6 +1052,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_WARNINGS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -1027,12 +1061,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -1066,8 +1102,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_WARNINGS = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; IBSC_WARNINGS = YES; INFOPLIST_FILE = SDiOSVersion/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1075,6 +1113,8 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE_SPECIFIER = ""; + TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; @@ -1083,7 +1123,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_WARNINGS = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = B62ARA7772; IBSC_WARNINGS = YES; INFOPLIST_FILE = SDiOSVersion/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1091,6 +1133,8 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE_SPECIFIER = ""; + TARGETED_DEVICE_FAMILY = 1; }; name = Release; }; @@ -1099,6 +1143,9 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -1112,6 +1159,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; SWIFT_OBJC_BRIDGING_HEADER = "SDiOSVersionTests/SDiOSVersionTests-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; @@ -1124,6 +1173,9 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", @@ -1133,6 +1185,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; SWIFT_OBJC_BRIDGING_HEADER = "SDiOSVersionTests/SDiOSVersionTests-Bridging-Header.h"; SWIFT_VERSION = 3.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SDiOSVersion.app/SDiOSVersion"; @@ -1143,7 +1197,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = dwarf; GCC_NO_COMMON_BLOCKS = YES; @@ -1164,7 +1218,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SDVersion-Demo/SDVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 216e53b..7f14324 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -11,44 +11,56 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ UnknownDevice = 0, Simulator = 1, - iPhone4 = 3, - iPhone4S = 4, - iPhone5 = 5, - iPhone5C = 6, - iPhone5S = 7, - iPhone6 = 8, - iPhone6Plus = 9, - iPhone6S = 10, - iPhone6SPlus = 11, + iPhone4 = 2, + iPhone4S = 3, + iPhone5 = 4, + iPhone5C = 5, + iPhone5S = 6, + iPhone6 = 7, + iPhone6Plus = 8, + iPhone6S = 9, + iPhone6SPlus = 10, + iPhoneSE = 11, iPhone7 = 12, iPhone7Plus = 13, iPhone8 = 14, iPhone8Plus = 15, iPhoneX = 16, - iPhoneSE = 17, + iPhoneXS = 17, + iPhoneXSMax = 18, + iPhoneXR = 19, + iPhone11 = 20, + iPhone11Pro = 21, + iPhone11ProMax = 22, - iPad1 = 18, - iPad2 = 19, - iPadMini = 20, - iPad3 = 21, - iPad4 = 22, - iPadAir = 23, - iPadMini2 = 24, - iPadAir2 = 25, - iPadMini3 = 26, - iPadMini4 = 27, - iPadPro12Dot9Inch = 28, - iPadPro9Dot7Inch = 29, - iPad5 = 30, - iPadPro12Dot9Inch2Gen = 31, - iPadPro10Dot5Inch = 32, + iPad1 = 23, + iPad2 = 24, + iPadMini = 25, + iPad3 = 26, + iPad4 = 27, + iPadAir = 28, + iPadMini2 = 29, + iPadAir2 = 30, + iPadMini3 = 31, + iPadMini4 = 32, + iPadPro12Dot9Inch = 33, + iPadPro9Dot7Inch = 34, + iPad5 = 35, + iPadPro12Dot9Inch2Gen = 36, + iPadPro10Dot5Inch = 37, + iPad6 = 38, + iPad7 = 39, + iPadAir3 = 40, + iPadMini5 = 41, + iPadPro11Inch = 42, + iPadPro12Dot9Inch3Gen = 43, - iPodTouch1Gen = 33, - iPodTouch2Gen = 34, - iPodTouch3Gen = 35, - iPodTouch4Gen = 36, - iPodTouch5Gen = 37, - iPodTouch6Gen = 38 + iPodTouch1Gen = 44, + iPodTouch2Gen = 45, + iPodTouch3Gen = 46, + iPodTouch4Gen = 47, + iPodTouch5Gen = 48, + iPodTouch6Gen = 49 }; typedef NS_ENUM(NSInteger, DeviceSize){ @@ -57,7 +69,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..a3f463c 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -48,6 +48,13 @@ + (NSDictionary*)deviceNamesByCode @"iPhone10,5" : @(iPhone8Plus), @"iPhone10,3" : @(iPhoneX), @"iPhone10,6" : @(iPhoneX), + @"iPhone11,2" : @(iPhoneXS), + @"iPhone11,4" : @(iPhoneXSMax), + @"iPhone11,6" : @(iPhoneXSMax), + @"iPhone11,8" : @(iPhoneXR), + @"iPhone12,1" : @(iPhone11), + @"iPhone12,3" : @(iPhone11Pro), + @"iPhone12,5" : @(iPhone11ProMax), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -89,6 +96,22 @@ + (NSDictionary*)deviceNamesByCode @"iPad7,2" : @(iPadPro12Dot9Inch2Gen), @"iPad7,3" : @(iPadPro10Dot5Inch), @"iPad7,4" : @(iPadPro10Dot5Inch), + @"iPad7,5" : @(iPad6), + @"iPad7,6" : @(iPad6), + @"iPad7,11" : @(iPad7), + @"iPad7,12" : @(iPad7), + @"iPad8,1" : @(iPadPro11Inch), + @"iPad8,2" : @(iPadPro11Inch), + @"iPad8,3" : @(iPadPro11Inch), + @"iPad8,4" : @(iPadPro11Inch), + @"iPad8,5" : @(iPadPro12Dot9Inch3Gen), + @"iPad8,6" : @(iPadPro12Dot9Inch3Gen), + @"iPad8,7" : @(iPadPro12Dot9Inch3Gen), + @"iPad8,8" : @(iPadPro12Dot9Inch3Gen), + @"iPad11,1" : @(iPadMini5), + @"iPad11,2" : @(iPadMini5), + @"iPad11,4" : @(iPadAir3), + @"iPad11,5" : @(iPadAir3), //iPods @"iPod1,1" : @(iPodTouch1Gen), @@ -109,8 +132,8 @@ + (DeviceVersion)deviceVersion uname(&systemInfo); NSString *code = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; - DeviceVersion version = (DeviceVersion)[[self.deviceNamesByCode objectForKey:code] integerValue]; - + DeviceVersion version = (DeviceVersion)[[[SDiOSVersion deviceNamesByCode] objectForKey:code] integerValue]; + return version; } @@ -126,22 +149,28 @@ + (DeviceSize)resolutionSize if (screenHeight == 480) { return Screen3Dot5inch; - } else if(screenHeight == 568) { + } else if (screenHeight == 568) { return Screen4inch; - } else if(screenHeight == 667) { + } else if (screenHeight == 667) { return Screen4Dot7inch; - } else if(screenHeight == 736) { + } else if (screenHeight == 736) { return Screen5Dot5inch; } else if (screenHeight == 812) { return Screen5Dot8inch; + } else if (screenHeight == 896) { + if ([SDiOSVersion deviceVersion] == iPhoneXSMax) { + return Screen6Dot5inch; + } else { + return Screen6Dot1inch; + } } else return UnknownSize; } + (DeviceSize)deviceSize { - DeviceSize deviceSize = [self resolutionSize]; - if ([self isZoomed]) { + DeviceSize deviceSize = [SDiOSVersion resolutionSize]; + if ([SDiOSVersion isZoomed]) { if (deviceSize == Screen4inch) { deviceSize = Screen4Dot7inch; } else if (deviceSize == Screen4Dot7inch) { @@ -160,6 +189,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)]; } @@ -180,12 +211,18 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone6Plus) : @"iPhone 6 Plus", @(iPhone6S) : @"iPhone 6S", @(iPhone6SPlus) : @"iPhone 6S Plus", + @(iPhoneSE) : @"iPhone SE", @(iPhone7) : @"iPhone 7", @(iPhone7Plus) : @"iPhone 7 Plus", @(iPhone8) : @"iPhone 8", @(iPhone8Plus) : @"iPhone 8 Plus", @(iPhoneX) : @"iPhone X", - @(iPhoneSE) : @"iPhone SE", + @(iPhoneXS) : @"iPhone XS", + @(iPhoneXSMax) : @"iPhone XS Max", + @(iPhoneXR) : @"iPhone XR", + @(iPhone11) : @"iPhone 11", + @(iPhone11Pro) : @"iPhone 11 Pro", + @(iPhone11ProMax) : @"iPhone 11 Pro Max", @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", @@ -198,10 +235,16 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPadMini3) : @"iPad Mini 3", @(iPadMini4) : @"iPad Mini 4", @(iPadPro9Dot7Inch) : @"iPad Pro 9.7 inch", - @(iPadPro12Dot9Inch) : @"iPad Pro 12.9 inch", + @(iPadPro12Dot9Inch) : @"iPad Pro 12.9 inch 1st Gen", @(iPad5) : @"iPad 5", @(iPadPro10Dot5Inch) : @"iPad Pro 10.5 inch", - @(iPadPro12Dot9Inch2Gen): @"iPad Pro 12.9 inch", + @(iPadPro12Dot9Inch2Gen): @"iPad Pro 12.9 inch 2nd Gen", + @(iPad6) : @"iPad 6", + @(iPad7) : @"iPad 7", + @(iPadAir3) : @"iPad Air 3rd Gen", + @(iPadMini5) : @"iPad Mini 5", + @(iPadPro11Inch) : @"iPad Pro 11 inch", + @(iPadPro12Dot9Inch3Gen): @"iPad Pro 12.9 inch 3rd Gen", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", @@ -217,9 +260,9 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion + (BOOL)isZoomed { - if ([self resolutionSize] == Screen4inch && [UIScreen mainScreen].nativeScale > 2) { + if ([SDiOSVersion resolutionSize] == Screen4inch && [UIScreen mainScreen].nativeScale > 2) { return YES; - }else if ([self resolutionSize] == Screen4Dot7inch && [UIScreen mainScreen].scale == 3){ + }else if ([SDiOSVersion resolutionSize] == Screen4Dot7inch && [UIScreen mainScreen].scale == 3){ return YES; }