From d2a0667d4875bc5cdb2a04cce6373e1ac8fa1d33 Mon Sep 17 00:00:00 2001 From: Christopher Guess Date: Fri, 14 Sep 2018 12:17:55 +0000 Subject: [PATCH 01/25] updated to add iPhone XS, iPhone XR, and iPhone XS Max, as well as removed compiler warnings on version. Updated to Swift 4.2 --- .../SDVersion.xcodeproj/project.pbxproj | 18 +++-- SDVersion-Demo/SDiOSVersion/AppDelegate.m | 6 +- SDVersion-Demo/SDiOSVersion/ViewController.m | 11 +++- SDVersion/SDiOSVersion/SDiOSVersion.h | 49 +++++++------- SDVersion/SDiOSVersion/SDiOSVersion.m | 65 +++++++++++++++++-- 5 files changed, 114 insertions(+), 35 deletions(-) diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj index 04680a4..7c21b8b 100755 --- a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj @@ -543,7 +543,7 @@ 9AA6624019BFABFC0055042F /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0910; + LastUpgradeCheck = 1000; ORGANIZATIONNAME = "Sebastian Dobrincu"; TargetAttributes = { 1FC73CFF1D244B87005F81DA = { @@ -564,7 +564,7 @@ }; 9AA6626019BFABFC0055042F = { CreatedOnToolsVersion = 6.0; - LastSwiftMigration = 0820; + LastSwiftMigration = 1000; TestTargetID = 9AA6624719BFABFC0055042F; }; E2D975171B8265DF00675936 = { @@ -974,12 +974,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; @@ -1027,12 +1029,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; @@ -1070,7 +1074,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; IBSC_WARNINGS = YES; INFOPLIST_FILE = SDiOSVersion/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1086,7 +1090,7 @@ CODE_SIGN_IDENTITY = ""; IBSC_WARNINGS = YES; INFOPLIST_FILE = SDiOSVersion/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1114,7 +1118,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "SDiOSVersionTests/SDiOSVersionTests-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.2; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SDiOSVersion.app/SDiOSVersion"; }; name = Debug; @@ -1134,7 +1139,8 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "SDiOSVersionTests/SDiOSVersionTests-Bridging-Header.h"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.2; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SDiOSVersion.app/SDiOSVersion"; }; name = Release; diff --git a/SDVersion-Demo/SDiOSVersion/AppDelegate.m b/SDVersion-Demo/SDiOSVersion/AppDelegate.m index e145893..2aaf163 100755 --- a/SDVersion-Demo/SDiOSVersion/AppDelegate.m +++ b/SDVersion-Demo/SDiOSVersion/AppDelegate.m @@ -12,7 +12,11 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. - [[UIApplication sharedApplication] setStatusBarHidden:YES]; + + #if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 + [[UIApplication sharedApplication] setStatusBarHidden:YES]; + #endif + return YES; } diff --git a/SDVersion-Demo/SDiOSVersion/ViewController.m b/SDVersion-Demo/SDiOSVersion/ViewController.m index 0f1eb30..019bee0 100755 --- a/SDVersion-Demo/SDiOSVersion/ViewController.m +++ b/SDVersion-Demo/SDiOSVersion/ViewController.m @@ -10,6 +10,10 @@ @implementation ViewController +- (BOOL)prefersStatusBarHidden { + return true; +} + - (void)viewDidLoad { [super viewDidLoad]; @@ -36,6 +40,12 @@ - (void)viewDidLoad { NSLog(@"Your screen size is 4.7 inches"); else if([SDVersion deviceSize] == Screen5Dot5inch) NSLog(@"Your screen size is 5.5 inches"); + else if([SDVersion deviceSize] == Screen5Dot8inch) + NSLog(@"Your screen size is 5.8 inches"); + else if([SDVersion deviceSize] == Screen6Dot1inch) + NSLog(@"Your screen size is 6.1 inches"); + else if([SDVersion deviceSize] == Screen6Dot5inch) + NSLog(@"Your screen size is 6.5 inches"); if ([SDVersion isZoomed]) { NSLog(@"Your device is in Zoom Mode!"); @@ -48,5 +58,4 @@ - (void)viewDidLoad { NSLog(@"You're on iOS 9.1 or below! ⏳"); } - @end diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 216e53b..5fbf5e4 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -26,29 +26,32 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhone8Plus = 15, iPhoneX = 16, iPhoneSE = 17, + iPhoneXS = 18, + iPhoneXR = 19, + iPhoneXSMax = 20, - 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 = 21, + iPad2 = 22, + iPadMini = 23, + iPad3 = 24, + iPad4 = 25, + iPadAir = 26, + iPadMini2 = 27, + iPadAir2 = 28, + iPadMini3 = 29, + iPadMini4 = 30, + iPadPro12Dot9Inch = 31, + iPadPro9Dot7Inch = 32, + iPad5 = 33, + iPadPro12Dot9Inch2Gen = 34, + iPadPro10Dot5Inch = 35, - iPodTouch1Gen = 33, - iPodTouch2Gen = 34, - iPodTouch3Gen = 35, - iPodTouch4Gen = 36, - iPodTouch5Gen = 37, - iPodTouch6Gen = 38 + iPodTouch1Gen = 36, + iPodTouch2Gen = 37, + iPodTouch3Gen = 38, + iPodTouch4Gen = 39, + iPodTouch5Gen = 40, + iPodTouch6Gen = 41 }; typedef NS_ENUM(NSInteger, DeviceSize){ @@ -57,7 +60,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..48fc274 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -48,6 +48,10 @@ + (NSDictionary*)deviceNamesByCode @"iPhone10,5" : @(iPhone8Plus), @"iPhone10,3" : @(iPhoneX), @"iPhone10,6" : @(iPhoneX), + @"iPhone11,8" : @(iPhoneXR), + @"iPhone11,2" : @(iPhoneXS), + @"iPhone11,4" : @(iPhoneXSMax), + @"iPhone11,6" : @(iPhoneXSMax), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -116,14 +120,30 @@ + (DeviceVersion)deviceVersion + (DeviceSize)resolutionSize { - CGFloat screenHeight = 0; - + DeviceSize deviseSize; + + // iOS > 8 does a better differentiation by using UIScreen.nativeBounds, + // this was not available in earlier versions. The nice thing is that nativeBounds + // really only matters on newer devices (iPhone R and Xs Max report the same UIScreen.bounds value) if ([SDiOSVersion versionGreaterThanOrEqualTo:@"8"]) { - screenHeight = MAX([[UIScreen mainScreen] bounds].size.height, [[UIScreen mainScreen] bounds].size.width); + deviseSize = [self resolutionSizeForIOSGreaterThan8]; } else { - screenHeight = [[UIScreen mainScreen] bounds].size.height; + deviseSize = [self resolutionSizeForIOSLessThan8]; } + return deviseSize; +} + ++ (DeviceSize)resolutionSizeForIOSLessThan8 +{ + if ([SDiOSVersion versionGreaterThanOrEqualTo:@"8"]) { + [NSException raise:@"Wrong iOS Version For Checking" format:@"The version of iOS %ld is greater than iOS 8 which is required for this function", (long)[SDiOSVersion version]]; + } + + CGFloat screenHeight = 0; + + screenHeight = [[UIScreen mainScreen] bounds].size.height; + if (screenHeight == 480) { return Screen3Dot5inch; } else if(screenHeight == 568) { @@ -134,8 +154,38 @@ + (DeviceSize)resolutionSize return Screen5Dot5inch; } else if (screenHeight == 812) { return Screen5Dot8inch; + } else if (screenHeight == 896) { + return Screen6Dot1inch; + } else + return UnknownSize; +} + ++ (DeviceSize)resolutionSizeForIOSGreaterThan8 +{ + if ([SDiOSVersion versionLessThan:@"8"]) { + [NSException raise:@"Wrong iOS Version For Checking" format:@"The version of iOS %ld is less than iOS 8 which is required for this function", (long)[SDiOSVersion version]]; + } + + CGFloat screenHeight = 0; + + screenHeight = [[UIScreen mainScreen] nativeBounds].size.height; + + if (screenHeight == 480 || screenHeight == 960) { + return Screen3Dot5inch; + } else if(screenHeight == 1136) { + return Screen4inch; + } else if(screenHeight == 1334) { + return Screen4Dot7inch; + } else if(screenHeight == 2208) { + return Screen5Dot5inch; + } else if (screenHeight == 2436) { + return Screen5Dot8inch; + } else if (screenHeight == 1792) { + return Screen6Dot1inch; + } else if (screenHeight == 2688) { + return Screen6Dot5inch; } else - return UnknownSize; + return UnknownSize; } + (DeviceSize)deviceSize @@ -160,6 +210,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)]; } @@ -186,6 +238,9 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone8Plus) : @"iPhone 8 Plus", @(iPhoneX) : @"iPhone X", @(iPhoneSE) : @"iPhone SE", + @(iPhoneXS) : @"iPhone XS", + @(iPhoneXR) : @"iPhone XR", + @(iPhoneXSMax) : @"iPhone XS Max", @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", From 7c2312fa82cfc3c6547ab8cd751b9653bbf7457d Mon Sep 17 00:00:00 2001 From: Christopher Guess Date: Fri, 14 Sep 2018 12:23:30 +0000 Subject: [PATCH 02/25] Updated README to show support for new versions of iPhone --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index a38a2ac..923c365 100755 --- a/README.md +++ b/README.md @@ -140,6 +140,12 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPhoneSE iPhone7 iPhone7Plus + iPhone8 + iPhone8Plus + iPhoneX + iPhoneXS + iPhoneXR + iPhoneXSMax iPad1 iPad2 @@ -168,6 +174,10 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie Screen4inch Screen4Dot7inch Screen5Dot5inch + Screen5Dot8inch + Screen6Dot1inch + Screen6Dot5inch + ### Available iOS Version Finder methods ```objective-c + (BOOL)versionEqualTo:(NSString *)version; From d9854e3e6de89545a8deb4ea6d79ea2c684a1cb5 Mon Sep 17 00:00:00 2001 From: Christopher Guess Date: Wed, 19 Sep 2018 13:20:50 +0000 Subject: [PATCH 03/25] Added new 40mm and 44mm watch sizes. --- SDVersion/SDwatchOSVersion/SDwatchOSVersion.h | 6 +++++- SDVersion/SDwatchOSVersion/SDwatchOSVersion.m | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h index 1cbd6e2..d6b0ea6 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h @@ -16,6 +16,8 @@ typedef NS_ENUM(NSInteger, DeviceVersion) { AppleWatch42mmSeries2 = 6, AppleWatch38mmSeries3 = 7, AppleWatch42mmSeries3 = 8, + AppleWatch40mmSeries4 = 9, + AppleWatch44mmSeries4 = 10, Simulator = 0 }; @@ -23,7 +25,9 @@ typedef NS_ENUM(NSInteger, DeviceVersion) { typedef NS_ENUM(NSInteger, DeviceSize) { UnknownSize = 0, Screen38mm = 1, - Screen42mm = 2 + Screen40mm = 2, + Screen42mm = 3, + Screen44mm = 4 }; @interface SDwatchOSVersion : NSObject diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m index 5af019e..07e242c 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m @@ -26,6 +26,10 @@ + (NSDictionary*)deviceNamesByCode @"Watch3,2" : @(AppleWatch42mmSeries3), @"Watch3,3" : @(AppleWatch38mmSeries3), @"Watch3,4" : @(AppleWatch42mmSeries3), + @"Watch4,1" : @(AppleWatch40mmSeries4), + @"Watch4,2" : @(AppleWatch44mmSeries4), + @"Watch4,3" : @(AppleWatch40mmSeries4), + @"Watch4,4" : @(AppleWatch44mmSeries4) }; }); @@ -54,6 +58,8 @@ + (NSString *)deviceVersionName:(DeviceVersion)deviceVersion @(AppleWatch42mmSeries2) : @"Apple Watch Series 2 42mm", @(AppleWatch38mmSeries3) : @"Apple Watch Series 3 38mm", @(AppleWatch42mmSeries3) : @"Apple Watch Series 3 42mm", + @(AppleWatch40mmSeries4) : @"Apple Watch Series 4 40mm", + @(AppleWatch44mmSeries4) : @"Apple Watch Series 4 44mm", @(Simulator) : @"Simulator" }[@(deviceVersion)]; } @@ -62,8 +68,12 @@ + (DeviceSize)deviceSize { CGFloat screenHeight = CGRectGetHeight([WKInterfaceDevice currentDevice].screenBounds); - if (screenHeight == 195) { + if (screenHeight == 224) { + return Screen44mm; + } else if (screenHeight == 195) { return Screen42mm; + } else if(screenHeight == 197) { + return Screen40mm; } else if(screenHeight == 170) { return Screen38mm; } else { @@ -76,7 +86,9 @@ + (NSString *)deviceSizeName:(DeviceSize)deviceSize return @{ @(UnknownSize) : @"Unknown Size", @(Screen38mm) : @"38mm", - @(Screen42mm) : @"42mm" + @(Screen40mm) : @"40mm", + @(Screen42mm) : @"42mm", + @(Screen44mm) : @"44mm" }[@(deviceSize)]; } From 6f1c8b412595e85e7687028bd9545b35a376535a Mon Sep 17 00:00:00 2001 From: Christopher Guess Date: Wed, 19 Sep 2018 13:24:49 +0000 Subject: [PATCH 04/25] added new watch sizes and devices in README documentation --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 923c365..b2c809a 100755 --- a/README.md +++ b/README.md @@ -216,12 +216,18 @@ Or in Swift: Apple Watch 42mm Series 1 Apple Watch 38mm Series 2 Apple Watch 42mm Series 2 + Apple Watch 38mm Series 3 + Apple Watch 42mm Series 3 + Apple Watch 40mm Series 4 + Apple Watch 44mm Series 4 Simulator ### Targetable screen sizes Screen38mm + Screen40mm Screen42mm + Screen44mm ### Available watchOS Version Finder methods ```objective-c From 25442b5f3cc497089054f5386a4287b454afb91d Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Fri, 15 Feb 2019 10:48:32 +0000 Subject: [PATCH 05/25] [ImgBot] Optimize images *Total -- 86.14kb -> 66.20kb (23.16%) /SDVersion-Demo/SDiOSVersion/Images.xcassets/logo.imageset/logo.png -- 7.03kb -> 4.62kb (34.31%) /SDVersion-Demo/SDMacVersion/Images.xcassets/logo.imageset/SDVersion-logo.png -- 79.12kb -> 61.58kb (22.16%) --- .../logo.imageset/SDVersion-logo.png | Bin 81016 -> 63059 bytes .../Images.xcassets/logo.imageset/logo.png | Bin 7196 -> 4727 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/SDVersion-Demo/SDMacVersion/Images.xcassets/logo.imageset/SDVersion-logo.png b/SDVersion-Demo/SDMacVersion/Images.xcassets/logo.imageset/SDVersion-logo.png index 584ebb12ad32c32cc188f7f1ae0501ba19d29b4a..a29dc1f46973b733e4226fcdcbe51350b6eb7793 100644 GIT binary patch delta 199 zcmezIgXQuY<_RjiEa{HEjtmSN`?>!lvQB>GrYFF_mgMd3!tfsi7wla=d7`2?Qv<_h zDR-6zo}*i*W-&07dV0DzhHREQ?wr9GzdT8wk++=j?)FK#IZ0z|d0Hz)087G{n%r%Ea8t*jU@Zz{{k delta 18296 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 diff --git a/SDVersion-Demo/SDiOSVersion/Images.xcassets/logo.imageset/logo.png b/SDVersion-Demo/SDiOSVersion/Images.xcassets/logo.imageset/logo.png index 660371b5829d1800f655b02701d677f5a04d72f0..986d962aacfa565d9a9ea7e6586c8b944d495d6a 100644 GIT binary patch literal 4727 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 Oz)0UruU_Y$=l=!IB^NaS literal 7196 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 Date: Sat, 13 Jul 2019 06:48:51 +0800 Subject: [PATCH 06/25] support sim --- SDVersion/SDiOSVersion/SDiOSVersion.m | 14 +++++++++++--- SDVersion/SDtvOSVersion/SDtvOSVersion.m | 15 ++++++++++++--- SDVersion/SDwatchOSVersion/SDwatchOSVersion.m | 15 ++++++++++++--- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 48fc274..0fbe062 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -109,10 +109,18 @@ + (NSDictionary*)deviceNamesByCode + (DeviceVersion)deviceVersion { - struct utsname systemInfo; - uname(&systemInfo); - NSString *code = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; + NSString *code = nil; +#if TARGET_OS_SIMULATOR + code = NSProcessInfo.processInfo.environment[@"SIMULATOR_MODEL_IDENTIFIER"]; +#endif // TARGET_OS_SIMULATOR + + if (code == nil) { + struct utsname systemInfo; + uname(&systemInfo); + code = [NSString stringWithCString:systemInfo.machine + encoding:NSUTF8StringEncoding]; + } DeviceVersion version = (DeviceVersion)[[self.deviceNamesByCode objectForKey:code] integerValue]; return version; diff --git a/SDVersion/SDtvOSVersion/SDtvOSVersion.m b/SDVersion/SDtvOSVersion/SDtvOSVersion.m index f3c4961..c3b39ea 100755 --- a/SDVersion/SDtvOSVersion/SDtvOSVersion.m +++ b/SDVersion/SDtvOSVersion/SDtvOSVersion.m @@ -29,9 +29,18 @@ + (NSDictionary*)deviceNamesByCode + (DeviceVersion)deviceVersion { - struct utsname systemInfo; - uname(&systemInfo); - NSString *code = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; + NSString *code = nil; + +#if TARGET_OS_SIMULATOR + code = NSProcessInfo.processInfo.environment[@"SIMULATOR_MODEL_IDENTIFIER"]; +#endif // TARGET_OS_SIMULATOR + + if (code == nil) { + struct utsname systemInfo; + uname(&systemInfo); + code = [NSString stringWithCString:systemInfo.machine + encoding:NSUTF8StringEncoding]; + } DeviceVersion version = (DeviceVersion)[[self.deviceNamesByCode objectForKey:code] integerValue]; diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m index 07e242c..9e49e6a 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m @@ -38,9 +38,18 @@ + (NSDictionary*)deviceNamesByCode + (DeviceVersion)deviceVersion { - struct utsname systemInfo; - uname(&systemInfo); - NSString *code = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; + NSString *code = nil; + +#if TARGET_OS_SIMULATOR + code = NSProcessInfo.processInfo.environment[@"SIMULATOR_MODEL_IDENTIFIER"]; +#endif // TARGET_OS_SIMULATOR + + if (code == nil) { + struct utsname systemInfo; + uname(&systemInfo); + code = [NSString stringWithCString:systemInfo.machine + encoding:NSUTF8StringEncoding]; + } DeviceVersion version = (DeviceVersion)[[self.deviceNamesByCode objectForKey:code] integerValue]; From d605a8973219f3bf030015b9983c0ade295d3446 Mon Sep 17 00:00:00 2001 From: poholo Date: Sat, 13 Jul 2019 08:01:59 +0800 Subject: [PATCH 07/25] 12.9inch --- SDVersion/SDiOSVersion/SDiOSVersion.h | 13 +++++++------ SDVersion/SDiOSVersion/SDiOSVersion.m | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 5fbf5e4..189f140 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -45,13 +45,14 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPad5 = 33, iPadPro12Dot9Inch2Gen = 34, iPadPro10Dot5Inch = 35, + iPadPro11Inch = 36, - iPodTouch1Gen = 36, - iPodTouch2Gen = 37, - iPodTouch3Gen = 38, - iPodTouch4Gen = 39, - iPodTouch5Gen = 40, - iPodTouch6Gen = 41 + iPodTouch1Gen = 50, + iPodTouch2Gen = 51, + iPodTouch3Gen = 52, + iPodTouch4Gen = 53, + iPodTouch5Gen = 54, + iPodTouch6Gen = 55 }; typedef NS_ENUM(NSInteger, DeviceSize){ diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 0fbe062..fb5c3c8 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -93,6 +93,7 @@ + (NSDictionary*)deviceNamesByCode @"iPad7,2" : @(iPadPro12Dot9Inch2Gen), @"iPad7,3" : @(iPadPro10Dot5Inch), @"iPad7,4" : @(iPadPro10Dot5Inch), + @"iPad8,5" : @(iPadPro12Dot9Inch), //iPods @"iPod1,1" : @(iPodTouch1Gen), From 35d0dbf3f94aee48eea07ed7c030a0b91174b360 Mon Sep 17 00:00:00 2001 From: poholo Date: Mon, 15 Jul 2019 10:34:37 +0800 Subject: [PATCH 08/25] add iPad devices --- SDVersion/SDiOSVersion/SDiOSVersion.h | 46 ++++++++++++++------------- SDVersion/SDiOSVersion/SDiOSVersion.m | 4 +++ 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 189f140..d87c5e4 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -30,29 +30,31 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhoneXR = 19, iPhoneXSMax = 20, - iPad1 = 21, - iPad2 = 22, - iPadMini = 23, - iPad3 = 24, - iPad4 = 25, - iPadAir = 26, - iPadMini2 = 27, - iPadAir2 = 28, - iPadMini3 = 29, - iPadMini4 = 30, - iPadPro12Dot9Inch = 31, - iPadPro9Dot7Inch = 32, - iPad5 = 33, - iPadPro12Dot9Inch2Gen = 34, - iPadPro10Dot5Inch = 35, - iPadPro11Inch = 36, + iPad1 = 100, + iPad2 = 101, + iPadMini = 102, + iPad3 = 103, + iPad4 = 104, + iPadAir = 105, + iPadMini2 = 106, + iPadAir2 = 107, + iPadMini3 = 108, + iPadMini4 = 109, + iPadPro12Dot9Inch = 110, + iPadPro9Dot7Inch = 111, + iPad5 = 112, + iPad6 = 113, + iPadPro12Dot9Inch2Gen = 114, + iPadPro10Dot5Inch = 115, + iPadPro11Inch = 116, + iPadAir3 = 117, - iPodTouch1Gen = 50, - iPodTouch2Gen = 51, - iPodTouch3Gen = 52, - iPodTouch4Gen = 53, - iPodTouch5Gen = 54, - iPodTouch6Gen = 55 + iPodTouch1Gen = 200, + iPodTouch2Gen = 201, + iPodTouch3Gen = 202, + iPodTouch4Gen = 203, + iPodTouch5Gen = 204, + iPodTouch6Gen = 205 }; typedef NS_ENUM(NSInteger, DeviceSize){ diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index fb5c3c8..74c831f 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -93,7 +93,11 @@ + (NSDictionary*)deviceNamesByCode @"iPad7,2" : @(iPadPro12Dot9Inch2Gen), @"iPad7,3" : @(iPadPro10Dot5Inch), @"iPad7,4" : @(iPadPro10Dot5Inch), + @"iPad7,5" : @(iPad6), + @"iPad7,6" : @(iPad6), @"iPad8,5" : @(iPadPro12Dot9Inch), + @"iPad11,3" : @(iPadAir3), + @"iPad8,1" : @(iPadPro11Inch), //iPods @"iPod1,1" : @(iPodTouch1Gen), From 5ce23921039aee59bf1f98a547fac53c9d9a27c8 Mon Sep 17 00:00:00 2001 From: poholo Date: Mon, 16 Sep 2019 16:28:57 +0800 Subject: [PATCH 09/25] add iOS 13 devices --- README.md | 89 ++++++++++--------- .../SDMacVersion/Base.lproj/Main.storyboard | 50 +++++++---- .../SDVersion.xcodeproj/project.pbxproj | 7 +- .../SDiOSVersion/Base.lproj/LaunchScreen.xib | 16 ++-- .../SDiOSVersion/Base.lproj/Main.storyboard | 23 ++--- SDVersion/SDiOSVersion/SDiOSVersion.h | 3 + SDVersion/SDiOSVersion/SDiOSVersion.m | 8 ++ SDVersion/SDwatchOSVersion/SDwatchOSVersion.h | 2 + SDVersion/SDwatchOSVersion/SDwatchOSVersion.m | 6 +- 9 files changed, 124 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index b2c809a..33a4673 100755 --- a/README.md +++ b/README.md @@ -128,45 +128,53 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie + (BOOL)isZoomed; ``` ### Targetable models - iPhone4 - iPhone4S - iPhone5 - iPhone5C - iPhone5S - iPhone6 - iPhone6Plus - iPhone6S - iPhone6SPlus - iPhoneSE - iPhone7 - iPhone7Plus - iPhone8 - iPhone8Plus - iPhoneX - iPhoneXS - iPhoneXR - iPhoneXSMax - - iPad1 - iPad2 - iPadMini - iPad3 - iPad4 - iPadAir - iPadMini2 - iPadAir2 - iPadMini3 - iPadMini4 - iPadPro9Dot7Inch - iPadPro12Dot9Inch - iPad5 - - iPodTouch1Gen - iPodTouch2Gen - iPodTouch3Gen - iPodTouch4Gen - iPodTouch5Gen - iPodTouch6Gen + iPhone4 + iPhone4S + iPhone5 + iPhone5C + iPhone5S + iPhone6 + iPhone6Plus + iPhone6S + iPhone6SPlus + iPhone7 + iPhone7Plus + iPhone8 + iPhone8Plus + iPhoneX + iPhoneSE + iPhoneXS + iPhoneXR + iPhoneXSMax + iPhone11 + iPhone11Pro + iPhone11ProMax + + iPad1 + iPad2 + iPadMini + iPad3 + iPad4 + iPadAir + iPadMini2 + iPadAir2 + iPadMini3 + iPadMini4 + iPadPro12Dot9Inch + iPadPro9Dot7Inch + iPad5 + iPadPro12Dot9Inch2Gen + iPadPro10Dot5Inch + iPadPro11Inch + iPadAir3 + iPad6 + + iPodTouch1Gen + iPodTouch2Gen + iPodTouch3Gen + iPodTouch4Gen + iPodTouch5Gen + iPodTouch6Gen Simulator ### Targetable screen sizes @@ -220,7 +228,8 @@ Or in Swift: Apple Watch 42mm Series 3 Apple Watch 40mm Series 4 Apple Watch 44mm Series 4 - + Apple Watch 40mm Series 5 + Apple Watch 44mm Series 5 Simulator ### Targetable screen sizes diff --git a/SDVersion-Demo/SDMacVersion/Base.lproj/Main.storyboard b/SDVersion-Demo/SDMacVersion/Base.lproj/Main.storyboard index e5196f0..7430105 100755 --- a/SDVersion-Demo/SDMacVersion/Base.lproj/Main.storyboard +++ b/SDVersion-Demo/SDMacVersion/Base.lproj/Main.storyboard @@ -1,7 +1,9 @@ - - + + - + + + @@ -650,11 +652,14 @@ - + + + + @@ -662,7 +667,7 @@ - + @@ -676,63 +681,70 @@ + + - - - + - + - - + - + - - + - + - - + - + + + + + + + + + + + + - diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj index 7c21b8b..d88be0a 100755 --- a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj @@ -582,6 +582,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -1079,6 +1080,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; + TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; @@ -1095,6 +1097,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; + TARGETED_DEVICE_FAMILY = 1; }; name = Release; }; @@ -1159,7 +1162,7 @@ ); INFOPLIST_FILE = SDMacVersion/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; @@ -1177,7 +1180,7 @@ GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = SDMacVersion/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; diff --git a/SDVersion-Demo/SDiOSVersion/Base.lproj/LaunchScreen.xib b/SDVersion-Demo/SDiOSVersion/Base.lproj/LaunchScreen.xib index 0a514d3..5ba066f 100755 --- a/SDVersion-Demo/SDiOSVersion/Base.lproj/LaunchScreen.xib +++ b/SDVersion-Demo/SDiOSVersion/Base.lproj/LaunchScreen.xib @@ -1,8 +1,10 @@ - - + + + - - + + + @@ -11,14 +13,14 @@ - - + diff --git a/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard b/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard index 0846f29..3605b8d 100755 --- a/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard +++ b/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard @@ -1,9 +1,10 @@ - - + + + - - + + @@ -19,22 +20,22 @@ - + - + @@ -83,6 +84,6 @@ - + diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index d87c5e4..358d25d 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -29,6 +29,9 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhoneXS = 18, iPhoneXR = 19, iPhoneXSMax = 20, + iPhone11 = 21, + iPhone11Pro = 22, + iPhone11ProMax = 23, iPad1 = 100, iPad2 = 101, diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 74c831f..e43f87a 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -52,6 +52,9 @@ + (NSDictionary*)deviceNamesByCode @"iPhone11,2" : @(iPhoneXS), @"iPhone11,4" : @(iPhoneXSMax), @"iPhone11,6" : @(iPhoneXSMax), + @"iPhone12,1" : @(iPhone11), + @"iPhone12,3" : @(iPhone11Pro), + @"iPhone12,5" : @(iPhone11ProMax), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -254,6 +257,10 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhoneXS) : @"iPhone XS", @(iPhoneXR) : @"iPhone XR", @(iPhoneXSMax) : @"iPhone XS Max", + @(iPhone11) : @"iPhone11", + @(iPhone11Pro) : @"iPhone11Pro", + @(iPhone11ProMax) : @"iPhone11ProMax", + @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", @@ -270,6 +277,7 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPad5) : @"iPad 5", @(iPadPro10Dot5Inch) : @"iPad Pro 10.5 inch", @(iPadPro12Dot9Inch2Gen): @"iPad Pro 12.9 inch", + @(iPad6) : @"iPad 6", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h index d6b0ea6..b14c659 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h @@ -18,6 +18,8 @@ typedef NS_ENUM(NSInteger, DeviceVersion) { AppleWatch42mmSeries3 = 8, AppleWatch40mmSeries4 = 9, AppleWatch44mmSeries4 = 10, + AppleWatch40mmSeries5 = 11, + AppleWatch44mmSeries5 = 12, Simulator = 0 }; diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m index 9e49e6a..4027edf 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m @@ -29,7 +29,9 @@ + (NSDictionary*)deviceNamesByCode @"Watch4,1" : @(AppleWatch40mmSeries4), @"Watch4,2" : @(AppleWatch44mmSeries4), @"Watch4,3" : @(AppleWatch40mmSeries4), - @"Watch4,4" : @(AppleWatch44mmSeries4) + @"Watch4,4" : @(AppleWatch44mmSeries4), + @"Watch5,3" : @(AppleWatch40mmSeries5), + @"Watch5,4" : @(AppleWatch44mmSeries5) }; }); @@ -69,6 +71,8 @@ + (NSString *)deviceVersionName:(DeviceVersion)deviceVersion @(AppleWatch42mmSeries3) : @"Apple Watch Series 3 42mm", @(AppleWatch40mmSeries4) : @"Apple Watch Series 4 40mm", @(AppleWatch44mmSeries4) : @"Apple Watch Series 4 44mm", + @(AppleWatch40mmSeries5) : @"Apple Watch Series 5 40mm", + @(AppleWatch44mmSeries5) : @"Apple Watch Series 5 44mm", @(Simulator) : @"Simulator" }[@(deviceVersion)]; } From fce1e1bff198c08d6ea21b9fd34a418f623363e2 Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 18 Feb 2020 15:59:13 +0800 Subject: [PATCH 10/25] fix:: add devices --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++++++ SDVersion/SDiOSVersion/SDiOSVersion.h | 2 ++ SDVersion/SDiOSVersion/SDiOSVersion.m | 6 ++++++ 3 files changed, 16 insertions(+) create mode 100644 SDVersion-Demo/SDVersion.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 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 358d25d..967bdce 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -51,6 +51,8 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPadPro10Dot5Inch = 115, iPadPro11Inch = 116, iPadAir3 = 117, + iPad7 = 118, + iPadMini5 = 119, iPodTouch1Gen = 200, iPodTouch2Gen = 201, diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index e43f87a..d2b28ac 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -99,8 +99,10 @@ + (NSDictionary*)deviceNamesByCode @"iPad7,5" : @(iPad6), @"iPad7,6" : @(iPad6), @"iPad8,5" : @(iPadPro12Dot9Inch), + @"iPad11,1" : @(iPadMini5), @"iPad11,3" : @(iPadAir3), @"iPad8,1" : @(iPadPro11Inch), + @"iPad7,12" : @(iPad7), //iPods @"iPod1,1" : @(iPodTouch1Gen), @@ -278,6 +280,10 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPadPro10Dot5Inch) : @"iPad Pro 10.5 inch", @(iPadPro12Dot9Inch2Gen): @"iPad Pro 12.9 inch", @(iPad6) : @"iPad 6", + @(iPadAir3) : @"iPadAir3", + @(iPad7) : @"iPad 7", + @(iPadPro11Inch) : @"iPadPro11Inch", + @(iPadMini5) : @"iPadMini5", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", From 34ad7575b30378228bd2b8e0b1a185912a96d826 Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 18 Feb 2020 16:23:57 +0800 Subject: [PATCH 11/25] fix:add iPad devices --- SDVersion/SDiOSVersion/SDiOSVersion.m | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index d2b28ac..2215bf7 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -98,11 +98,20 @@ + (NSDictionary*)deviceNamesByCode @"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" : @(iPadPro12Dot9Inch), + @"iPad8,6" : @(iPadPro12Dot9Inch), + @"iPad8,7" : @(iPadPro12Dot9Inch), + @"iPad8,8" : @(iPadPro12Dot9Inch), @"iPad11,1" : @(iPadMini5), + @"iPad11,2" : @(iPadMini5), @"iPad11,3" : @(iPadAir3), - @"iPad8,1" : @(iPadPro11Inch), - @"iPad7,12" : @(iPad7), + @"iPad11,4" : @(iPadAir3), //iPods @"iPod1,1" : @(iPodTouch1Gen), From 435bccdbe8ece0b1afcf6c69da28a1776fac1857 Mon Sep 17 00:00:00 2001 From: poholo Date: Thu, 18 Jun 2020 14:22:40 +0800 Subject: [PATCH 12/25] iPhonSE2 --- .gitignore | 7 +++++++ SDVersion/SDiOSVersion/SDiOSVersion.h | 1 + SDVersion/SDiOSVersion/SDiOSVersion.m | 2 ++ 3 files changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index 44f6561..35c6e13 100755 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,10 @@ DerivedData +SDVersion-Demo/.idea/.gitignore +SDVersion-Demo/.idea/.name +SDVersion-Demo/.idea/encodings.xml +SDVersion-Demo/.idea/modules.xml +SDVersion-Demo/.idea/SDVersion-Demo.iml +SDVersion-Demo/.idea/vcs.xml +SDVersion-Demo/.idea/xcode.xml diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 967bdce..88dfdb7 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -32,6 +32,7 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhone11 = 21, iPhone11Pro = 22, iPhone11ProMax = 23, + iPhoneSE2 = 24, iPad1 = 100, iPad2 = 101, diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 2215bf7..2c5d527 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -55,6 +55,7 @@ + (NSDictionary*)deviceNamesByCode @"iPhone12,1" : @(iPhone11), @"iPhone12,3" : @(iPhone11Pro), @"iPhone12,5" : @(iPhone11ProMax), + @"iPhone12,8" : @(iPhoneSE2), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -271,6 +272,7 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone11) : @"iPhone11", @(iPhone11Pro) : @"iPhone11Pro", @(iPhone11ProMax) : @"iPhone11ProMax", + @(iPhoneSE2) : @"iPhoneSE2", @(iPad1) : @"iPad 1", From 6e8cab954c796e9e7136668f113e260f7f52374a Mon Sep 17 00:00:00 2001 From: poholo Date: Thu, 18 Jun 2020 14:41:33 +0800 Subject: [PATCH 13/25] new devices --- README.md | 5 ++++- SDVersion/SDiOSVersion/SDiOSVersion.h | 2 ++ SDVersion/SDiOSVersion/SDiOSVersion.m | 16 ++++++++++------ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 33a4673..54c091b 100755 --- a/README.md +++ b/README.md @@ -149,6 +149,7 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPhone11 iPhone11Pro iPhone11ProMax + iPhoneSE2 iPad1 iPad2 @@ -167,7 +168,9 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPadPro10Dot5Inch iPadPro11Inch iPadAir3 - iPad6 + iPad6 + iPadPro12Dot9Inch4Gen + iPadPro11Inch2Gen iPodTouch1Gen iPodTouch2Gen diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 88dfdb7..38aa5b3 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -54,6 +54,8 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPadAir3 = 117, iPad7 = 118, iPadMini5 = 119, + iPadPro12Dot9Inch4Gen = 120, + iPadPro11Inch2Gen = 121, iPodTouch1Gen = 200, iPodTouch2Gen = 201, diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 2c5d527..5a7d0a9 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -97,18 +97,20 @@ + (NSDictionary*)deviceNamesByCode @"iPad7,2" : @(iPadPro12Dot9Inch2Gen), @"iPad7,3" : @(iPadPro10Dot5Inch), @"iPad7,4" : @(iPadPro10Dot5Inch), - @"iPad7,5" : @(iPad6), - @"iPad7,6" : @(iPad6), + @"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,1" : @(iPadPro11Inch), + @"iPad8,2" : @(iPadPro11Inch), + @"iPad8,3" : @(iPadPro11Inch), + @"iPad8,4" : @(iPadPro11Inch), @"iPad8,5" : @(iPadPro12Dot9Inch), @"iPad8,6" : @(iPadPro12Dot9Inch), @"iPad8,7" : @(iPadPro12Dot9Inch), @"iPad8,8" : @(iPadPro12Dot9Inch), + @"iPad8,9" : @(iPadPro11Inch2Gen), + @"iPad8,12" : @(iPadPro12Dot9Inch4Gen), @"iPad11,1" : @(iPadMini5), @"iPad11,2" : @(iPadMini5), @"iPad11,3" : @(iPadAir3), @@ -290,11 +292,13 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPad5) : @"iPad 5", @(iPadPro10Dot5Inch) : @"iPad Pro 10.5 inch", @(iPadPro12Dot9Inch2Gen): @"iPad Pro 12.9 inch", + @(iPadPro12Dot9Inch4Gen):@"iPad Pro 12.9 inch 4", @(iPad6) : @"iPad 6", @(iPadAir3) : @"iPadAir3", @(iPad7) : @"iPad 7", @(iPadPro11Inch) : @"iPadPro11Inch", @(iPadMini5) : @"iPadMini5", + @(iPadPro11Inch2Gen) : @"iPadpro11Inch2Gen", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", From b825e2f921d80a3327ff2c75e5df97550de7dd73 Mon Sep 17 00:00:00 2001 From: poholo Date: Fri, 19 Jun 2020 17:25:16 +0800 Subject: [PATCH 14/25] MCVersion --- SDVersion.podspec => MCVersion.podspec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename SDVersion.podspec => MCVersion.podspec (82%) diff --git a/SDVersion.podspec b/MCVersion.podspec similarity index 82% rename from SDVersion.podspec rename to MCVersion.podspec index 4902f0f..2fed068 100755 --- a/SDVersion.podspec +++ b/MCVersion.podspec @@ -7,10 +7,10 @@ Pod::Spec.new do |s| # summary should be tweet-length, and the description more in depth. # - s.name = "SDVersion" - s.version = "4.3.2" - s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size." - s.homepage = "https://github.com/sebyddd/SDVersion" + s.name = "MCVersion" + s.version = "4.3.3" + s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" + s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" @@ -28,7 +28,7 @@ Pod::Spec.new do |s| s.platform = :osx s.platform = :watchos s.platform = :tvos - s.ios.deployment_target = '7.0' + s.ios.deployment_target = '10.0' s.osx.deployment_target = '10.9' s.watchos.deployment_target = '2.0' s.tvos.deployment_target = '9.0' @@ -36,7 +36,7 @@ Pod::Spec.new do |s| s.osx.source_files = "SDVersion/SDMacVersion/*.{h,m}" s.watchos.source_files = "SDVersion/SDwatchOSVersion/*.{h,m}" s.tvos.source_files = "SDVersion/SDtvOSVersion/*.{h,m}" - s.source = { :git => 'https://github.com/sebyddd/SDVersion.git', :tag => "#{s.version}" } + s.source = { :git => 'https://github.com/poholo/SDVersion.git', :tag => "#{s.version}" } s.source_files = "SDVersion/*.{h,m}" s.requires_arc = true From e38d3ef408cda94e643596804f319a5b92716cbf Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 24 Nov 2020 10:56:38 +0800 Subject: [PATCH 15/25] iOS 14 devices v 4.3.4 --- MCVersion.podspec | 4 ++-- README.md | 11 ++++++++++ SDVersion/SDiOSVersion/SDiOSVersion.h | 10 ++++++++- SDVersion/SDiOSVersion/SDiOSVersion.m | 22 +++++++++++++++---- SDVersion/SDwatchOSVersion/SDwatchOSVersion.h | 2 ++ SDVersion/SDwatchOSVersion/SDwatchOSVersion.m | 6 ++++- 6 files changed, 47 insertions(+), 8 deletions(-) diff --git a/MCVersion.podspec b/MCVersion.podspec index 2fed068..99dfb00 100755 --- a/MCVersion.podspec +++ b/MCVersion.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| # s.name = "MCVersion" - s.version = "4.3.3" + s.version = "4.3.4" s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" @@ -21,7 +21,7 @@ Pod::Spec.new do |s| # Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'. # - s.license = "MIT (example)" + s.license = "MIT" s.license = { :type => "MIT", :file => "LICENSE" } s.author = { "Sebastian Dobrincu" => "me@dobrincu.co" } s.platform = :ios diff --git a/README.md b/README.md index 54c091b..152365b 100755 --- a/README.md +++ b/README.md @@ -150,6 +150,10 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPhone11Pro iPhone11ProMax iPhoneSE2 + iPhone12 + iPhone12Pro + iPhone12ProMax + iPhone12Mini iPad1 iPad2 @@ -171,6 +175,8 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPad6 iPadPro12Dot9Inch4Gen iPadPro11Inch2Gen + iPad8 + iPadAir4 iPodTouch1Gen iPodTouch2Gen @@ -178,6 +184,8 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPodTouch4Gen iPodTouch5Gen iPodTouch6Gen + iPodTouch6Gen + iPodTouch7Gen Simulator ### Targetable screen sizes @@ -188,6 +196,7 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie Screen5Dot8inch Screen6Dot1inch Screen6Dot5inch + ### Available iOS Version Finder methods ```objective-c @@ -233,6 +242,8 @@ Or in Swift: Apple Watch 44mm Series 4 Apple Watch 40mm Series 5 Apple Watch 44mm Series 5 + Apple Watch 40mm Series 6 + Apple Watch 44mm Series 6 Simulator ### Targetable screen sizes diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 38aa5b3..3b9f50c 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -33,6 +33,11 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhone11Pro = 22, iPhone11ProMax = 23, iPhoneSE2 = 24, + iPhone12 = 25, + iPhone12Pro = 26, + iPhone12ProMax = 27, + iPhone12Mini = 28, + iPad1 = 100, iPad2 = 101, @@ -56,13 +61,16 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPadMini5 = 119, iPadPro12Dot9Inch4Gen = 120, iPadPro11Inch2Gen = 121, + iPad8 = 122, + iPadAir4 = 123, iPodTouch1Gen = 200, iPodTouch2Gen = 201, iPodTouch3Gen = 202, iPodTouch4Gen = 203, iPodTouch5Gen = 204, - iPodTouch6Gen = 205 + iPodTouch6Gen = 205, + iPodTouch7Gen = 206, }; typedef NS_ENUM(NSInteger, DeviceSize){ diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 5a7d0a9..1441765 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -56,6 +56,10 @@ + (NSDictionary*)deviceNamesByCode @"iPhone12,3" : @(iPhone11Pro), @"iPhone12,5" : @(iPhone11ProMax), @"iPhone12,8" : @(iPhoneSE2), + @"iPhone13,2" : @(iPhone12), + @"iPhone13,3" : @(iPhone12Pro), + @"iPhone13,4" : @(iPhone12ProMax), + @"iPhone13,1" : @(iPhone12Mini), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -115,6 +119,8 @@ + (NSDictionary*)deviceNamesByCode @"iPad11,2" : @(iPadMini5), @"iPad11,3" : @(iPadAir3), @"iPad11,4" : @(iPadAir3), + @"iPad11,7" : @(iPad8), + @"iPad13,2" : @(iPadAir4), //iPods @"iPod1,1" : @(iPodTouch1Gen), @@ -122,7 +128,9 @@ + (NSDictionary*)deviceNamesByCode @"iPod3,1" : @(iPodTouch3Gen), @"iPod4,1" : @(iPodTouch4Gen), @"iPod5,1" : @(iPodTouch5Gen), - @"iPod7,1" : @(iPodTouch6Gen)}; + @"iPod7,1" : @(iPodTouch6Gen), + @"iPod9,1" : @(iPodTouch7Gen) + }; #pragma clang diagnostic pop }); @@ -275,7 +283,10 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone11Pro) : @"iPhone11Pro", @(iPhone11ProMax) : @"iPhone11ProMax", @(iPhoneSE2) : @"iPhoneSE2", - + @(iPhone12) : @"iPhone12", + @(iPhone12Pro) : @"iPhone12Pro", + @(iPhone12ProMax) : @"iPhone12ProMax", + @(iPhone12Mini) : @"iPhone12Mini", @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", @@ -299,14 +310,17 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPadPro11Inch) : @"iPadPro11Inch", @(iPadMini5) : @"iPadMini5", @(iPadPro11Inch2Gen) : @"iPadpro11Inch2Gen", + @(iPad8) : @"iPad8", + @(iPadAir4) : @"iPadAir4", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", @(iPodTouch3Gen) : @"iPod Touch 3rd Gen", @(iPodTouch4Gen) : @"iPod Touch 4th Gen", @(iPodTouch5Gen) : @"iPod Touch 5th Gen", - @(iPodTouch6Gen) : @"iPod Touch 6th Gen", - + @(iPodTouch6Gen) : @"iPod Touch 6th Gen", + @(iPodTouch7Gen) : @"iPod Touch 7th Gen", + @(Simulator) : @"Simulator", @(UnknownDevice) : @"Unknown Device" }[@(deviceVersion)]; diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h index b14c659..a6f3012 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h @@ -20,6 +20,8 @@ typedef NS_ENUM(NSInteger, DeviceVersion) { AppleWatch44mmSeries4 = 10, AppleWatch40mmSeries5 = 11, AppleWatch44mmSeries5 = 12, + AppleWatch40mmSeries6 = 12, + AppleWatch44mmSeries6 = 13, Simulator = 0 }; diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m index 4027edf..d815f32 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m @@ -31,7 +31,9 @@ + (NSDictionary*)deviceNamesByCode @"Watch4,3" : @(AppleWatch40mmSeries4), @"Watch4,4" : @(AppleWatch44mmSeries4), @"Watch5,3" : @(AppleWatch40mmSeries5), - @"Watch5,4" : @(AppleWatch44mmSeries5) + @"Watch5,4" : @(AppleWatch44mmSeries5), + @"Watch6,1" : @(AppleWatch40mmSeries6), + @"Watch6,2" : @(AppleWatch44mmSeries6) }; }); @@ -73,6 +75,8 @@ + (NSString *)deviceVersionName:(DeviceVersion)deviceVersion @(AppleWatch44mmSeries4) : @"Apple Watch Series 4 44mm", @(AppleWatch40mmSeries5) : @"Apple Watch Series 5 40mm", @(AppleWatch44mmSeries5) : @"Apple Watch Series 5 44mm", + @(AppleWatch40mmSeries6) : @"Apple Watch Series 6 40mm", + @(AppleWatch44mmSeries6) : @"Apple Watch Series 6 44mm", @(Simulator) : @"Simulator" }[@(deviceVersion)]; } From 2042601c7644507dc2cbbf6d5fa07c917479d2ba Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 24 Nov 2020 11:25:27 +0800 Subject: [PATCH 16/25] readme --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 152365b..72437da 100755 --- a/README.md +++ b/README.md @@ -111,10 +111,14 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie ### Podfile ```ruby - pod 'SDVersion' + pod 'SDVersion', git:'https://github.com/poholo/SDVersion.git' + or + pod 'MCVersion' ``` + + ## iOS ### Available methods From c3b9ea00e98a5d3f43260b144bb12de79fe5bdaa Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 24 Nov 2020 11:31:07 +0800 Subject: [PATCH 17/25] readme --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 72437da..0fa3a36 100755 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie + (BOOL)isZoomed; ``` ### Targetable models +``` iPhone4 iPhone4S iPhone5 @@ -191,8 +192,10 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPodTouch6Gen iPodTouch7Gen - Simulator + Simulator +``` ### Targetable screen sizes +``` Screen3Dot5inch Screen4inch Screen4Dot7inch @@ -200,6 +203,7 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie Screen5Dot8inch Screen6Dot1inch Screen6Dot5inch +``` ### Available iOS Version Finder methods @@ -234,6 +238,7 @@ Or in Swift: + (NSString *)deviceName; ``` ### Targetable models +``` Apple Watch 38mm Apple Watch 42mm Apple Watch 38mm Series 1 @@ -249,12 +254,15 @@ Or in Swift: Apple Watch 40mm Series 6 Apple Watch 44mm Series 6 Simulator +``` ### Targetable screen sizes +``` Screen38mm Screen40mm Screen42mm Screen44mm +``` ### Available watchOS Version Finder methods ```objective-c @@ -337,6 +345,7 @@ Or in Swift: + (DeviceScreenResolution)deviceScreenResolution; ``` ### Targetable models +``` DeviceVersionIMac DeviceVersionMacMini DeviceVersionMacPro @@ -344,8 +353,10 @@ Or in Swift: DeviceVersionMacBookAir DeviceVersionMacBookPro DeviceVersionXserve +``` ### Targetable screen sizes +``` Mac27Inch Mac24Inch Mac21Dot5Inch @@ -355,10 +366,13 @@ Or in Swift: Mac13Inch Mac12Inch Mac11Inch +``` ### Targetable screen resolutions +``` DeviceScreenRetina, DeviceScreenNoRetina +``` ### Available OSX Version Finder methods ```objective-c From d071c7e5b11c855c2ae4db995e31ad451c4f5751 Mon Sep 17 00:00:00 2001 From: poholo Date: Wed, 25 Nov 2020 09:48:48 +0800 Subject: [PATCH 18/25] =?UTF-8?q?support=20sd=204.3.4=20G=C3=AE=C8=9B:....?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDVersion.podspec | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 SDVersion.podspec diff --git a/SDVersion.podspec b/SDVersion.podspec new file mode 100755 index 0000000..291d009 --- /dev/null +++ b/SDVersion.podspec @@ -0,0 +1,44 @@ +Pod::Spec.new do |s| + + # ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # These will help people to find your library, and whilst it + # can feel like a chore to fill in it's definitely to your advantage. The + # summary should be tweet-length, and the description more in depth. + # + + s.name = "SDVersion" + s.version = "4.3.4" + s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" + s.homepage = "https://github.com/poholo/SDVersion" + s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" + + + # ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Licensing your code is important. See http://choosealicense.com for more info. + # CocoaPods will detect a license file if there is a named LICENSE* + # Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'. + # + + s.license = "MIT" + s.license = { :type => "MIT", :file => "LICENSE" } + s.author = { "Sebastian Dobrincu" => "me@dobrincu.co" } + s.platform = :ios + s.platform = :osx + s.platform = :watchos + s.platform = :tvos + s.ios.deployment_target = '10.0' + s.osx.deployment_target = '10.9' + s.watchos.deployment_target = '2.0' + s.tvos.deployment_target = '9.0' + s.ios.source_files = "SDVersion/SDiOSVersion/*.{h,m}" + s.osx.source_files = "SDVersion/SDMacVersion/*.{h,m}" + s.watchos.source_files = "SDVersion/SDwatchOSVersion/*.{h,m}" + s.tvos.source_files = "SDVersion/SDtvOSVersion/*.{h,m}" + s.source = { :git => 'https://github.com/poholo/SDVersion.git', :tag => "#{s.version}" } + s.source_files = "SDVersion/*.{h,m}" + + s.requires_arc = true + +end From 706de0339dd0b1e6f2a3b04f9857a47100cb5403 Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 28 Sep 2021 10:40:33 +0800 Subject: [PATCH 19/25] 2021 devices --- .../SDVersion.xcodeproj/project.pbxproj | 6 +- .../SDiOSVersion/Base.lproj/Main.storyboard | 55 ++++++------------- SDVersion.podspec | 2 +- SDVersion/SDiOSVersion/SDiOSVersion.h | 32 ++++++++--- SDVersion/SDiOSVersion/SDiOSVersion.m | 48 +++++++++++++++- 5 files changed, 92 insertions(+), 51 deletions(-) diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj index d88be0a..bad497a 100755 --- a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj @@ -136,6 +136,7 @@ 1FE53CD41D3FF491005739A5 /* SDtvOSVersionTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SDtvOSVersionTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 1FE53CD81D3FF491005739A5 /* SDtvOSVersionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDtvOSVersionTests.m; sourceTree = ""; }; 1FE53CDA1D3FF491005739A5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 33C4BD2F2702B7BC0014D8AC /* SDVersion.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; name = SDVersion.podspec; path = ../SDVersion.podspec; sourceTree = ""; }; 9A6DB5DE1B8E82D00065EA11 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 9A6DB5DF1B8E82D00065EA11 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 9A6DB5E11B8E82D00065EA11 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; @@ -323,6 +324,7 @@ 9AA6623F19BFABFC0055042F = { isa = PBXGroup; children = ( + 33C4BD2F2702B7BC0014D8AC /* SDVersion.podspec */, 9A95DA931B853CFF00F96CB5 /* SDVersion */, 9A6DB5DD1B8E82D00065EA11 /* SDiOSVersion */, 9A6DB5F01B8E82E00065EA11 /* SDiOSVersionTests */, @@ -1080,7 +1082,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - TARGETED_DEVICE_FAMILY = 1; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -1097,7 +1099,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.dobrincusebastian.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - TARGETED_DEVICE_FAMILY = 1; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; diff --git a/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard b/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard index 3605b8d..38056a1 100755 --- a/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard +++ b/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - - + + - + @@ -20,56 +20,33 @@ - - + + + + + + - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - @@ -80,7 +57,7 @@ - + diff --git a/SDVersion.podspec b/SDVersion.podspec index 291d009..50c6e75 100755 --- a/SDVersion.podspec +++ b/SDVersion.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| # s.name = "SDVersion" - s.version = "4.3.4" + s.version = "4.3.5" s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 3b9f50c..000889f 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -37,6 +37,10 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhone12Pro = 26, iPhone12ProMax = 27, iPhone12Mini = 28, + iPhone13 = 29, + iPhone13Pro = 30, + iPhone13ProMax = 31, + iPhone13Mini = 32, iPad1 = 100, @@ -63,6 +67,12 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPadPro11Inch2Gen = 121, iPad8 = 122, iPadAir4 = 123, + iPadMini6 = 124, + iPadPro12Dot9Inch5Gen = 125, + iPadPro11Inch3Gen = 126, + iPad9 = 127, +// iPadPro9Dot7Inch = 127, + iPodTouch1Gen = 200, iPodTouch2Gen = 201, @@ -75,13 +85,21 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ typedef NS_ENUM(NSInteger, DeviceSize){ UnknownSize = 0, - Screen3Dot5inch = 1, - Screen4inch = 2, - Screen4Dot7inch = 3, - Screen5Dot5inch = 4, - Screen5Dot8inch = 5, - Screen6Dot1inch = 6, - Screen6Dot5inch = 7 + Screen3Dot5inch, + Screen4inch , + Screen4Dot7inch, + Screen5Dot5inch, + Screen5Dot4inch, + Screen5Dot8inch, + Screen6Dot1inch, + Screen6Dot5inch, + Screen6Dot7inch, + Screen8Dot3inch, + Screen9Dot7inch, + Screen10Dot2inch, + Screen10Dot9inch, + Screen11inch, + Screen12Dot9inch }; @interface SDiOSVersion : NSObject diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 1441765..3fc2ffa 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -60,6 +60,12 @@ + (NSDictionary*)deviceNamesByCode @"iPhone13,3" : @(iPhone12Pro), @"iPhone13,4" : @(iPhone12ProMax), @"iPhone13,1" : @(iPhone12Mini), + + @"iPhone14,5" : @(iPhone13), + @"iPhone14,2" : @(iPhone13Pro), + @"iPhone14,3" : @(iPhone13ProMax), + @"iPhone14,4" : @(iPhone13Mini), + @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -121,6 +127,11 @@ + (NSDictionary*)deviceNamesByCode @"iPad11,4" : @(iPadAir3), @"iPad11,7" : @(iPad8), @"iPad13,2" : @(iPadAir4), + @"iPad14,1" : @(iPadMini6), + @"iPad13,10": @(iPadPro12Dot9Inch5Gen), + @"iPad13,5" : @(iPadPro11Inch3Gen), + @"iPad12,2" : @(iPad9), + //iPods @"iPod1,1" : @(iPodTouch1Gen), @@ -216,13 +227,29 @@ + (DeviceSize)resolutionSizeForIOSGreaterThan8 return Screen4Dot7inch; } else if(screenHeight == 2208) { return Screen5Dot5inch; + } else if(screenHeight == 2340) { + return Screen5Dot4inch; } else if (screenHeight == 2436) { return Screen5Dot8inch; - } else if (screenHeight == 1792) { + } else if (screenHeight == 1792 || screenHeight == 2532) { return Screen6Dot1inch; } else if (screenHeight == 2688) { return Screen6Dot5inch; - } else + } else if (screenHeight == 2778) { + return Screen6Dot7inch; + } else if (screenHeight == 2266) { + return Screen8Dot3inch; + } else if (screenHeight == 2048) { + return Screen9Dot7inch; + } else if (screenHeight == 2160) { + return Screen10Dot2inch; + } else if (screenHeight == 2360) { + return Screen10Dot9inch; + } else if (screenHeight == 2388) { + return Screen11inch; + } else if (screenHeight == 2732) { + return Screen12Dot9inch; + } return UnknownSize; } @@ -246,10 +273,19 @@ + (NSString *)deviceSizeName:(DeviceSize)deviceSize @(Screen3Dot5inch) : @"3.5 inch", @(Screen4inch) : @"4 inch", @(Screen4Dot7inch) : @"4.7 inch", + @(Screen5Dot4inch) : @"5.4 inch", @(Screen5Dot5inch) : @"5.5 inch", @(Screen5Dot8inch) : @"5.8 inch", @(Screen6Dot1inch) : @"6.1 inch", @(Screen6Dot5inch) : @"6.5 inch", + @(Screen6Dot7inch) : @"6.7 inch", + @(Screen8Dot3inch) : @"8.3 inch", + @(Screen9Dot7inch) : @"9.7 inch", + @(Screen10Dot2inch): @"10.2 inch", + @(Screen10Dot9inch): @"10.9 inch", + @(Screen11inch) : @"11 inch", + @(Screen12Dot9inch): @"12.9 inch", + }[@(deviceSize)]; } @@ -287,6 +323,10 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone12Pro) : @"iPhone12Pro", @(iPhone12ProMax) : @"iPhone12ProMax", @(iPhone12Mini) : @"iPhone12Mini", + @(iPhone13) : @"iPhone13", + @(iPhone13Pro) : @"iPhone13Pro", + @(iPhone13ProMax) : @"iPhone13ProMax", + @(iPhone13Mini) : @"iPhone13Mini", @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", @@ -312,6 +352,10 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPadPro11Inch2Gen) : @"iPadpro11Inch2Gen", @(iPad8) : @"iPad8", @(iPadAir4) : @"iPadAir4", + @(iPadMini6) : @"iPadMini6", + @(iPadPro12Dot9Inch5Gen): @"iPadPro12Dot9Inch5Gen", + @(iPadPro11Inch3Gen) : @"iPadPro11Inch3Gen", + @(iPad9) : @"iPad9", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", From 2a38c5eadfd15effdced97af4ac41f28ab811eef Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 28 Sep 2021 10:42:00 +0800 Subject: [PATCH 20/25] 2021 devices --- MCVersion.podspec | 2 +- SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/MCVersion.podspec b/MCVersion.podspec index 99dfb00..3f1b97e 100755 --- a/MCVersion.podspec +++ b/MCVersion.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| # s.name = "MCVersion" - s.version = "4.3.4" + s.version = "4.3.5" s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj index bad497a..b6810c9 100755 --- a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj @@ -136,7 +136,6 @@ 1FE53CD41D3FF491005739A5 /* SDtvOSVersionTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SDtvOSVersionTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 1FE53CD81D3FF491005739A5 /* SDtvOSVersionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDtvOSVersionTests.m; sourceTree = ""; }; 1FE53CDA1D3FF491005739A5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 33C4BD2F2702B7BC0014D8AC /* SDVersion.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; name = SDVersion.podspec; path = ../SDVersion.podspec; sourceTree = ""; }; 9A6DB5DE1B8E82D00065EA11 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 9A6DB5DF1B8E82D00065EA11 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 9A6DB5E11B8E82D00065EA11 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; @@ -324,7 +323,6 @@ 9AA6623F19BFABFC0055042F = { isa = PBXGroup; children = ( - 33C4BD2F2702B7BC0014D8AC /* SDVersion.podspec */, 9A95DA931B853CFF00F96CB5 /* SDVersion */, 9A6DB5DD1B8E82D00065EA11 /* SDiOSVersion */, 9A6DB5F01B8E82E00065EA11 /* SDiOSVersionTests */, From 4c1d7259e773a8ebed259077b5d6f7b35483f4fd Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 28 Sep 2021 18:48:05 +0800 Subject: [PATCH 21/25] 2021 devices --- MCVersion.podspec | 2 +- README.md | 73 +++++++++++++------ .../SDVersion.xcodeproj/project.pbxproj | 6 ++ SDVersion-Demo/SDtvOSVersion/ViewController.m | 2 + SDVersion/SDtvOSVersion/SDtvOSVersion.h | 7 +- SDVersion/SDtvOSVersion/SDtvOSVersion.m | 2 + SDVersion/SDwatchOSVersion/SDwatchOSVersion.h | 40 +++++----- SDVersion/SDwatchOSVersion/SDwatchOSVersion.m | 20 ++++- 8 files changed, 106 insertions(+), 46 deletions(-) diff --git a/MCVersion.podspec b/MCVersion.podspec index 3f1b97e..958c794 100755 --- a/MCVersion.podspec +++ b/MCVersion.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| # s.name = "MCVersion" - s.version = "4.3.5" + s.version = "4.3.6" s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" diff --git a/README.md b/README.md index 0fa3a36..b8be1fd 100755 --- a/README.md +++ b/README.md @@ -154,11 +154,18 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPhone11 iPhone11Pro iPhone11ProMax - iPhoneSE2 - iPhone12 - iPhone12Pro - iPhone12ProMax - iPhone12Mini + iPhoneSE2 + iPhone12 + iPhone12Pro + iPhone12ProMax + iPhone12Mini + iPhone13 + iPhone13Pro + iPhone13ProMax + iPhone13Mini + + + iPad1 iPad2 @@ -178,10 +185,14 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPadPro11Inch iPadAir3 iPad6 - iPadPro12Dot9Inch4Gen - iPadPro11Inch2Gen - iPad8 - iPadAir4 + iPadPro12Dot9Inch4Gen + iPadPro11Inch2Gen + iPad8 + iPadAir4 + iPadMini6 + iPadPro12Dot9Inch5Gen + iPadPro11Inch3Gen + iPad9 iPodTouch1Gen iPodTouch2Gen @@ -189,20 +200,28 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPodTouch4Gen iPodTouch5Gen iPodTouch6Gen - iPodTouch6Gen - iPodTouch7Gen + iPodTouch6Gen + iPodTouch7Gen - Simulator + Simulator ``` ### Targetable screen sizes ``` - Screen3Dot5inch - Screen4inch - Screen4Dot7inch - Screen5Dot5inch - Screen5Dot8inch - Screen6Dot1inch - Screen6Dot5inch + Screen3Dot5inch, + Screen4inch , + Screen4Dot7inch, + Screen5Dot5inch, + Screen5Dot4inch, + Screen5Dot8inch, + Screen6Dot1inch, + Screen6Dot5inch, + Screen6Dot7inch, + Screen8Dot3inch, + Screen9Dot7inch, + Screen10Dot2inch, + Screen10Dot9inch, + Screen11inch, + Screen12Dot9inch ``` @@ -251,8 +270,13 @@ Or in Swift: Apple Watch 44mm Series 4 Apple Watch 40mm Series 5 Apple Watch 44mm Series 5 + Apple Watch 40mm SE + Apple Watch 44mm SE Apple Watch 40mm Series 6 - Apple Watch 44mm Series 6 + Apple Watch 44mm Series 6 + Apple Watch 41mm Series7 + Apple Watch 45mm Series7 + Simulator ``` @@ -260,8 +284,10 @@ Or in Swift: ``` Screen38mm Screen40mm + Screen41mm Screen42mm Screen44mm + Screen45mm ``` ### Available watchOS Version Finder methods @@ -290,8 +316,11 @@ Or in Swift: + (NSString *)deviceName; ``` ### Targetable models - Apple TV (4th Generation) - + Apple TV (4th Generation) + Apple TV 4K + Apple TV 4K(2nd Generation) + Apple TV 4K(2nd Generation 1080p) + Simulator ### Available tvOS Version Finder methods diff --git a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj index b6810c9..505e6a3 100755 --- a/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj +++ b/SDVersion-Demo/SDVersion.xcodeproj/project.pbxproj @@ -136,6 +136,9 @@ 1FE53CD41D3FF491005739A5 /* SDtvOSVersionTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SDtvOSVersionTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 1FE53CD81D3FF491005739A5 /* SDtvOSVersionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDtvOSVersionTests.m; sourceTree = ""; }; 1FE53CDA1D3FF491005739A5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 337CEC232703285D0086B6DC /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; + 337CEC24270329EC0086B6DC /* SDVersion.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; name = SDVersion.podspec; path = ../SDVersion.podspec; sourceTree = ""; }; + 337CEC25270329F60086B6DC /* MCVersion.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; name = MCVersion.podspec; path = ../MCVersion.podspec; sourceTree = ""; }; 9A6DB5DE1B8E82D00065EA11 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 9A6DB5DF1B8E82D00065EA11 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 9A6DB5E11B8E82D00065EA11 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; @@ -323,6 +326,9 @@ 9AA6623F19BFABFC0055042F = { isa = PBXGroup; children = ( + 337CEC25270329F60086B6DC /* MCVersion.podspec */, + 337CEC24270329EC0086B6DC /* SDVersion.podspec */, + 337CEC232703285D0086B6DC /* README.md */, 9A95DA931B853CFF00F96CB5 /* SDVersion */, 9A6DB5DD1B8E82D00065EA11 /* SDiOSVersion */, 9A6DB5F01B8E82E00065EA11 /* SDiOSVersionTests */, diff --git a/SDVersion-Demo/SDtvOSVersion/ViewController.m b/SDVersion-Demo/SDtvOSVersion/ViewController.m index a2e0f78..730c256 100644 --- a/SDVersion-Demo/SDtvOSVersion/ViewController.m +++ b/SDVersion-Demo/SDtvOSVersion/ViewController.m @@ -24,6 +24,8 @@ - (void)viewDidLoad { // Get device name as NSString self.tvVersionLabel.text = [self.tvVersionLabel.text stringByAppendingString:[SDtvOSVersion deviceVersionName:[SDtvOSVersion deviceVersion]]]; + NSLog([SDtvOSVersion deviceName]); + // Check for device model if ([SDtvOSVersion deviceVersion] == AppleTV4) NSLog(@"You got the fourth-generation Apple TV. Nice!"); diff --git a/SDVersion/SDtvOSVersion/SDtvOSVersion.h b/SDVersion/SDtvOSVersion/SDtvOSVersion.h index b2a1bbc..adebf98 100755 --- a/SDVersion/SDtvOSVersion/SDtvOSVersion.h +++ b/SDVersion/SDtvOSVersion/SDtvOSVersion.h @@ -8,9 +8,10 @@ #import typedef NS_ENUM(NSInteger, DeviceVersion) { - AppleTV4 = 1, - AppleTV4K = 2, - Simulator = 0 + Simulator, + AppleTV4, + AppleTV4K, + AppleTV4K2Gen }; @interface SDtvOSVersion : NSObject diff --git a/SDVersion/SDtvOSVersion/SDtvOSVersion.m b/SDVersion/SDtvOSVersion/SDtvOSVersion.m index c3b39ea..9b6db15 100755 --- a/SDVersion/SDtvOSVersion/SDtvOSVersion.m +++ b/SDVersion/SDtvOSVersion/SDtvOSVersion.m @@ -21,6 +21,7 @@ + (NSDictionary*)deviceNamesByCode deviceNamesByCode = @{ @"AppleTV5,3" : @(AppleTV4), @"AppleTV6,2" : @(AppleTV4K), + @"AppleTV11,1" : @(AppleTV4K2Gen) }; }); @@ -52,6 +53,7 @@ + (NSString *)deviceVersionName:(DeviceVersion)deviceVersion return @{ @(AppleTV4) : @"Apple TV (4th Generation)", @(AppleTV4K) : @"Apple TV 4K", + @(AppleTV4K2Gen) : @"Apple TV 4K(2nd Generation)", @(Simulator) : @"Simulator" }[@(deviceVersion)]; } diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h index a6f3012..e1258ea 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h @@ -9,29 +9,35 @@ typedef NS_ENUM(NSInteger, DeviceVersion) { AppleWatch38mm = 1, - AppleWatch42mm = 2, - AppleWatch38mmSeries1 = 3, - AppleWatch42mmSeries1 = 4, - AppleWatch38mmSeries2 = 5, - AppleWatch42mmSeries2 = 6, - AppleWatch38mmSeries3 = 7, - AppleWatch42mmSeries3 = 8, - AppleWatch40mmSeries4 = 9, - AppleWatch44mmSeries4 = 10, - AppleWatch40mmSeries5 = 11, - AppleWatch44mmSeries5 = 12, - AppleWatch40mmSeries6 = 12, - AppleWatch44mmSeries6 = 13, + AppleWatch42mm , + AppleWatch38mmSeries1 , + AppleWatch42mmSeries1 , + AppleWatch38mmSeries2 , + AppleWatch42mmSeries2 , + AppleWatch38mmSeries3 , + AppleWatch42mmSeries3 , + AppleWatch40mmSeries4 , + AppleWatch44mmSeries4 , + AppleWatch40mmSeries5 , + AppleWatch44mmSeries5 , + AppleWatch40mmSE , + AppleWatch44mmSE , + AppleWatch40mmSeries6 , + AppleWatch44mmSeries6 , + AppleWatch41mmSeries7 , + AppleWatch45mmSeries7 , Simulator = 0 }; typedef NS_ENUM(NSInteger, DeviceSize) { UnknownSize = 0, - Screen38mm = 1, - Screen40mm = 2, - Screen42mm = 3, - Screen44mm = 4 + Screen38mm, + Screen40mm, + Screen41mm, + Screen42mm, + Screen44mm, + Screen45mm, }; @interface SDwatchOSVersion : NSObject diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m index d815f32..86aa7e7 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m @@ -32,8 +32,12 @@ + (NSDictionary*)deviceNamesByCode @"Watch4,4" : @(AppleWatch44mmSeries4), @"Watch5,3" : @(AppleWatch40mmSeries5), @"Watch5,4" : @(AppleWatch44mmSeries5), + @"Watch5,9" : @(AppleWatch40mmSE), + @"Watch5,12" : @(AppleWatch44mmSE), @"Watch6,1" : @(AppleWatch40mmSeries6), - @"Watch6,2" : @(AppleWatch44mmSeries6) + @"Watch6,2" : @(AppleWatch44mmSeries6), + @"Watch6,6" : @(AppleWatch41mmSeries7), + @"Watch6,9" : @(AppleWatch45mmSeries7), }; }); @@ -75,8 +79,12 @@ + (NSString *)deviceVersionName:(DeviceVersion)deviceVersion @(AppleWatch44mmSeries4) : @"Apple Watch Series 4 44mm", @(AppleWatch40mmSeries5) : @"Apple Watch Series 5 40mm", @(AppleWatch44mmSeries5) : @"Apple Watch Series 5 44mm", + @(AppleWatch40mmSE) : @"Apple Watch Series SE 40mm", + @(AppleWatch44mmSE) : @"Apple Watch Series SE 44mm", @(AppleWatch40mmSeries6) : @"Apple Watch Series 6 40mm", @(AppleWatch44mmSeries6) : @"Apple Watch Series 6 44mm", + @(AppleWatch41mmSeries7) : @"Apple Watch Series 7 41mm", + @(AppleWatch45mmSeries7) : @"Apple Watch Series 7 45mm", @(Simulator) : @"Simulator" }[@(deviceVersion)]; } @@ -93,6 +101,10 @@ + (DeviceSize)deviceSize return Screen40mm; } else if(screenHeight == 170) { return Screen38mm; + } else if(screenHeight == 215) { + return Screen41mm; + } else if(screenHeight == 242) { + return Screen45mm; } else { return UnknownSize; } @@ -104,8 +116,10 @@ + (NSString *)deviceSizeName:(DeviceSize)deviceSize @(UnknownSize) : @"Unknown Size", @(Screen38mm) : @"38mm", @(Screen40mm) : @"40mm", + @(Screen41mm) : @"41mm", @(Screen42mm) : @"42mm", - @(Screen44mm) : @"44mm" + @(Screen44mm) : @"44mm", + @(Screen45mm) : @"45mm" }[@(deviceSize)]; } @@ -115,7 +129,7 @@ + (NSString *)deviceName uname(&systemInfo); NSString *code = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; if ([code isEqualToString:@"x86_64"] || [code isEqualToString:@"i386"]) { - code = @"Simulator"; + code = [NSString stringWithFormat:@"%@ Simulator", code]; } return code; From 490c4b33e2eb5057d054f43ae8f6bbae93e71488 Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 22 Mar 2022 18:39:58 +0800 Subject: [PATCH 22/25] 22devices --- MCVersion.podspec | 4 +- README.md | 152 ++++++++++++++------------ SDVersion/SDiOSVersion/SDiOSVersion.h | 2 + SDVersion/SDiOSVersion/SDiOSVersion.m | 7 +- 4 files changed, 90 insertions(+), 75 deletions(-) diff --git a/MCVersion.podspec b/MCVersion.podspec index 958c794..89205cd 100755 --- a/MCVersion.podspec +++ b/MCVersion.podspec @@ -8,8 +8,8 @@ Pod::Spec.new do |s| # s.name = "MCVersion" - s.version = "4.3.6" - s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅" + s.version = "4.3.7" + s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅. 22春季设备更新" s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0" diff --git a/README.md b/README.md index b8be1fd..8ab7ba7 100755 --- a/README.md +++ b/README.md @@ -32,6 +32,12 @@ SDVersion supports iOS, watchOS, tvOS, and macOS. Browse through the implementat

+``` +update log +4.3.6 增加2022年春季设备 + +``` + ## How it works ```objective-c @@ -133,27 +139,27 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie ``` ### Targetable models ``` - iPhone4 - iPhone4S - iPhone5 - iPhone5C - iPhone5S - iPhone6 - iPhone6Plus - iPhone6S - iPhone6SPlus - iPhone7 - iPhone7Plus - iPhone8 - iPhone8Plus - iPhoneX - iPhoneSE - iPhoneXS - iPhoneXR - iPhoneXSMax - iPhone11 - iPhone11Pro - iPhone11ProMax + iPhone4 + iPhone4S + iPhone5 + iPhone5C + iPhone5S + iPhone6 + iPhone6Plus + iPhone6S + iPhone6SPlus + iPhone7 + iPhone7Plus + iPhone8 + iPhone8Plus + iPhoneX + iPhoneSE + iPhoneXS + iPhoneXR + iPhoneXSMax + iPhone11 + iPhone11Pro + iPhone11ProMax iPhoneSE2 iPhone12 iPhone12Pro @@ -162,29 +168,30 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPhone13 iPhone13Pro iPhone13ProMax - iPhone13Mini - - - - - iPad1 - iPad2 - iPadMini - iPad3 - iPad4 - iPadAir - iPadMini2 - iPadAir2 - iPadMini3 - iPadMini4 - iPadPro12Dot9Inch - iPadPro9Dot7Inch - iPad5 - iPadPro12Dot9Inch2Gen - iPadPro10Dot5Inch - iPadPro11Inch - iPadAir3 - iPad6 + iPhone13Mini + iPhoneSE3 + + + + + iPad1 + iPad2 + iPadMini + iPad3 + iPad4 + iPadAir + iPadMini2 + iPadAir2 + iPadMini3 + iPadMini4 + iPadPro12Dot9Inch + iPadPro9Dot7Inch + iPad5 + iPadPro12Dot9Inch2Gen + iPadPro10Dot5Inch + iPadPro11Inch + iPadAir3 + iPad6 iPadPro12Dot9Inch4Gen iPadPro11Inch2Gen iPad8 @@ -192,14 +199,15 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPadMini6 iPadPro12Dot9Inch5Gen iPadPro11Inch3Gen - iPad9 - - iPodTouch1Gen - iPodTouch2Gen - iPodTouch3Gen - iPodTouch4Gen - iPodTouch5Gen - iPodTouch6Gen + iPad9 + iPadAir5 + + iPodTouch1Gen + iPodTouch2Gen + iPodTouch3Gen + iPodTouch4Gen + iPodTouch5Gen + iPodTouch6Gen iPodTouch6Gen iPodTouch7Gen @@ -253,12 +261,12 @@ Or in Swift: ### Available methods ```objective-c + (DeviceVersion)deviceVersion; - + (DeviceSize)deviceSize; - + (NSString *)deviceName; + + (DeviceSize)deviceSize; + + (NSString *)deviceName; ``` ### Targetable models ``` - Apple Watch 38mm + Apple Watch 38mm Apple Watch 42mm Apple Watch 38mm Series 1 Apple Watch 42mm Series 1 @@ -334,7 +342,7 @@ Or in Swift: ### Helpers ```objective-c - NSLog(@"%@", [SDVersion deviceVersionName:[SDVersion deviceVersion]]); + NSLog(@"%@", [SDVersion deviceVersionName:[SDVersion deviceVersion]]); /* e.g: Outputs 'Apple TV (4th Generation)' */ ``` @@ -375,32 +383,32 @@ Or in Swift: ``` ### Targetable models ``` - DeviceVersionIMac - DeviceVersionMacMini - DeviceVersionMacPro - DeviceVersionMacBook - DeviceVersionMacBookAir - DeviceVersionMacBookPro - DeviceVersionXserve + DeviceVersionIMac + DeviceVersionMacMini + DeviceVersionMacPro + DeviceVersionMacBook + DeviceVersionMacBookAir + DeviceVersionMacBookPro + DeviceVersionXserve ``` ### Targetable screen sizes ``` Mac27Inch - Mac24Inch - Mac21Dot5Inch - Mac20Inch - Mac17Inch - Mac15Inch - Mac13Inch - Mac12Inch - Mac11Inch + Mac24Inch + Mac21Dot5Inch + Mac20Inch + Mac17Inch + Mac15Inch + Mac13Inch + Mac12Inch + Mac11Inch ``` ### Targetable screen resolutions ``` DeviceScreenRetina, - DeviceScreenNoRetina + DeviceScreenNoRetina ``` ### Available OSX Version Finder methods diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 000889f..6752992 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -41,6 +41,7 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhone13Pro = 30, iPhone13ProMax = 31, iPhone13Mini = 32, + iPhoneSE3 = 33, iPad1 = 100, @@ -71,6 +72,7 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPadPro12Dot9Inch5Gen = 125, iPadPro11Inch3Gen = 126, iPad9 = 127, + iPadAir5 = 128, // iPadPro9Dot7Inch = 127, diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 3fc2ffa..936753b 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -65,6 +65,7 @@ + (NSDictionary*)deviceNamesByCode @"iPhone14,2" : @(iPhone13Pro), @"iPhone14,3" : @(iPhone13ProMax), @"iPhone14,4" : @(iPhone13Mini), + @"iPhone14,6" : @(iPhoneSE3), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -131,6 +132,8 @@ + (NSDictionary*)deviceNamesByCode @"iPad13,10": @(iPadPro12Dot9Inch5Gen), @"iPad13,5" : @(iPadPro11Inch3Gen), @"iPad12,2" : @(iPad9), + @"iPad13,17": @(iPadAir5), + //iPods @@ -327,6 +330,7 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone13Pro) : @"iPhone13Pro", @(iPhone13ProMax) : @"iPhone13ProMax", @(iPhone13Mini) : @"iPhone13Mini", + @(iPhoneSE3) : @"iPhoneSE3", @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", @@ -343,7 +347,7 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPad5) : @"iPad 5", @(iPadPro10Dot5Inch) : @"iPad Pro 10.5 inch", @(iPadPro12Dot9Inch2Gen): @"iPad Pro 12.9 inch", - @(iPadPro12Dot9Inch4Gen):@"iPad Pro 12.9 inch 4", + @(iPadPro12Dot9Inch4Gen): @"iPad Pro 12.9 inch 4", @(iPad6) : @"iPad 6", @(iPadAir3) : @"iPadAir3", @(iPad7) : @"iPad 7", @@ -356,6 +360,7 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPadPro12Dot9Inch5Gen): @"iPadPro12Dot9Inch5Gen", @(iPadPro11Inch3Gen) : @"iPadPro11Inch3Gen", @(iPad9) : @"iPad9", + @(iPadAir5) : @"iPadAir5", @(iPodTouch1Gen) : @"iPod Touch 1st Gen", @(iPodTouch2Gen) : @"iPod Touch 2nd Gen", From 1b890f1089f762dc944c0082175af9eba36ba8cf Mon Sep 17 00:00:00 2001 From: poholo Date: Tue, 22 Mar 2022 18:43:25 +0800 Subject: [PATCH 23/25] ~ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ab7ba7..97ccb61 100755 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ SDVersion supports iOS, watchOS, tvOS, and macOS. Browse through the implementat ``` update log -4.3.6 增加2022年春季设备 +4.3.7 增加2022年春季设备 ``` From 24f908d264b61f5fb3f84966126d5949301febe6 Mon Sep 17 00:00:00 2001 From: poholo Date: Wed, 28 Sep 2022 23:03:14 +0800 Subject: [PATCH 24/25] 22 devices --- README.md | 10 ++++++++ .../SDiOSVersion/Base.lproj/Main.storyboard | 23 ++++++++++++++++--- SDVersion-Demo/SDiOSVersion/ViewController.m | 1 + SDVersion/SDiOSVersion/SDiOSVersion.h | 6 +++-- SDVersion/SDiOSVersion/SDiOSVersion.m | 14 ++++++++--- SDVersion/SDwatchOSVersion/SDwatchOSVersion.h | 6 +++++ SDVersion/SDwatchOSVersion/SDwatchOSVersion.m | 15 +++++++++++- 7 files changed, 66 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 97ccb61..8520073 100755 --- a/README.md +++ b/README.md @@ -170,6 +170,10 @@ CocoaPods is a dependency manager for Objective-C, which automates and simplifie iPhone13ProMax iPhone13Mini iPhoneSE3 + iPhone14 + iPhone14Plus + iPhone14Pro + iPhone14ProMax @@ -284,6 +288,11 @@ Or in Swift: Apple Watch 44mm Series 6 Apple Watch 41mm Series7 Apple Watch 45mm Series7 + AppleWatch40mmSE2 , + AppleWatch44mmSE2 , + AppleWatch41mmSeries8 , + AppleWatch45mmSeries8 , + AppleWatch49mmUltra , Simulator ``` @@ -296,6 +305,7 @@ Or in Swift: Screen42mm Screen44mm Screen45mm + Screen49mm ``` ### Available watchOS Version Finder methods diff --git a/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard b/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard index 38056a1..2cceb87 100755 --- a/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard +++ b/SDVersion-Demo/SDiOSVersion/Base.lproj/Main.storyboard @@ -1,12 +1,28 @@ - + - + + + + + + + + + + + + + + + + + @@ -48,6 +64,7 @@ + @@ -57,7 +74,7 @@ - + diff --git a/SDVersion-Demo/SDiOSVersion/ViewController.m b/SDVersion-Demo/SDiOSVersion/ViewController.m index 019bee0..60f2954 100755 --- a/SDVersion-Demo/SDiOSVersion/ViewController.m +++ b/SDVersion-Demo/SDiOSVersion/ViewController.m @@ -16,6 +16,7 @@ - (BOOL)prefersStatusBarHidden { - (void)viewDidLoad { [super viewDidLoad]; + self.title = @"SDVersion!!!!!!!!!!"; // Get device name as NSString self.iphoneVersionLabel.text = [self.iphoneVersionLabel.text stringByAppendingString:[SDVersion deviceNameString]]; diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.h b/SDVersion/SDiOSVersion/SDiOSVersion.h index 6752992..22cdfcc 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.h +++ b/SDVersion/SDiOSVersion/SDiOSVersion.h @@ -42,6 +42,10 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPhone13ProMax = 31, iPhone13Mini = 32, iPhoneSE3 = 33, + iPhone14 = 34, + iPhone14Plus = 35, + iPhone14Pro = 36, + iPhone14ProMax = 37, iPad1 = 100, @@ -73,8 +77,6 @@ typedef NS_ENUM(NSInteger, DeviceVersion){ iPadPro11Inch3Gen = 126, iPad9 = 127, iPadAir5 = 128, -// iPadPro9Dot7Inch = 127, - iPodTouch1Gen = 200, iPodTouch2Gen = 201, diff --git a/SDVersion/SDiOSVersion/SDiOSVersion.m b/SDVersion/SDiOSVersion/SDiOSVersion.m index 936753b..1956e3a 100755 --- a/SDVersion/SDiOSVersion/SDiOSVersion.m +++ b/SDVersion/SDiOSVersion/SDiOSVersion.m @@ -66,6 +66,10 @@ + (NSDictionary*)deviceNamesByCode @"iPhone14,3" : @(iPhone13ProMax), @"iPhone14,4" : @(iPhone13Mini), @"iPhone14,6" : @(iPhoneSE3), + @"iPhone14,7" : @(iPhone14), + @"iPhone14,8" : @(iPhone14Plus), + @"iPhone15,2" : @(iPhone14Pro), + @"iPhone15,3" : @(iPhone14ProMax), @"i386" : @(Simulator), @"x86_64" : @(Simulator), @@ -217,7 +221,7 @@ + (DeviceSize)resolutionSizeForIOSGreaterThan8 if ([SDiOSVersion versionLessThan:@"8"]) { [NSException raise:@"Wrong iOS Version For Checking" format:@"The version of iOS %ld is less than iOS 8 which is required for this function", (long)[SDiOSVersion version]]; } - + CGFloat screenHeight = 0; screenHeight = [[UIScreen mainScreen] nativeBounds].size.height; @@ -234,11 +238,11 @@ + (DeviceSize)resolutionSizeForIOSGreaterThan8 return Screen5Dot4inch; } else if (screenHeight == 2436) { return Screen5Dot8inch; - } else if (screenHeight == 1792 || screenHeight == 2532) { + } else if (screenHeight == 1792 || screenHeight == 2532 || screenHeight == 2556) { return Screen6Dot1inch; } else if (screenHeight == 2688) { return Screen6Dot5inch; - } else if (screenHeight == 2778) { + } else if (screenHeight == 2778 || screenHeight == 2796) { return Screen6Dot7inch; } else if (screenHeight == 2266) { return Screen8Dot3inch; @@ -331,6 +335,10 @@ + (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion @(iPhone13ProMax) : @"iPhone13ProMax", @(iPhone13Mini) : @"iPhone13Mini", @(iPhoneSE3) : @"iPhoneSE3", + @(iPhone14) : @"iPhone14", + @(iPhone14Plus) : @"iPhone14Plus", + @(iPhone14Pro) : @"iPhone14Pro", + @(iPhone14ProMax) : @"iPhone14ProMax", @(iPad1) : @"iPad 1", @(iPad2) : @"iPad 2", diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h index e1258ea..0834fa0 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.h @@ -26,6 +26,11 @@ typedef NS_ENUM(NSInteger, DeviceVersion) { AppleWatch44mmSeries6 , AppleWatch41mmSeries7 , AppleWatch45mmSeries7 , + AppleWatch40mmSE2 , + AppleWatch44mmSE2 , + AppleWatch41mmSeries8 , + AppleWatch45mmSeries8 , + AppleWatch49mmUltra , Simulator = 0 }; @@ -38,6 +43,7 @@ typedef NS_ENUM(NSInteger, DeviceSize) { Screen42mm, Screen44mm, Screen45mm, + Screen49mm, }; @interface SDwatchOSVersion : NSObject diff --git a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m index 86aa7e7..2e3d250 100644 --- a/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m +++ b/SDVersion/SDwatchOSVersion/SDwatchOSVersion.m @@ -38,6 +38,11 @@ + (NSDictionary*)deviceNamesByCode @"Watch6,2" : @(AppleWatch44mmSeries6), @"Watch6,6" : @(AppleWatch41mmSeries7), @"Watch6,9" : @(AppleWatch45mmSeries7), + @"Watch6,13" : @(AppleWatch40mmSE2), + @"Watch6,13" : @(AppleWatch44mmSE2), + @"Watch6,14" : @(AppleWatch41mmSeries8), + @"Watch6,15" : @(AppleWatch45mmSeries8), + @"Watch6,18" : @(AppleWatch49mmUltra), }; }); @@ -85,6 +90,11 @@ + (NSString *)deviceVersionName:(DeviceVersion)deviceVersion @(AppleWatch44mmSeries6) : @"Apple Watch Series 6 44mm", @(AppleWatch41mmSeries7) : @"Apple Watch Series 7 41mm", @(AppleWatch45mmSeries7) : @"Apple Watch Series 7 45mm", + @(AppleWatch40mmSE2) : @"Apple Watch Series SE2 40mm", + @(AppleWatch44mmSE2) : @"Apple Watch Series SE2 44mm", + @(AppleWatch41mmSeries8) : @"Apple Watch Series 8 41mm", + @(AppleWatch45mmSeries8) : @"Apple Watch Series 8 45mm", + @(AppleWatch49mmUltra) : @"Apple Watch 49mm Ultra", @(Simulator) : @"Simulator" }[@(deviceVersion)]; } @@ -105,6 +115,8 @@ + (DeviceSize)deviceSize return Screen41mm; } else if(screenHeight == 242) { return Screen45mm; + } else if(screenHeight == 251) { + return Screen49mm; } else { return UnknownSize; } @@ -119,7 +131,8 @@ + (NSString *)deviceSizeName:(DeviceSize)deviceSize @(Screen41mm) : @"41mm", @(Screen42mm) : @"42mm", @(Screen44mm) : @"44mm", - @(Screen45mm) : @"45mm" + @(Screen45mm) : @"45mm", + @(Screen49mm) : @"49mm" }[@(deviceSize)]; } From f51b43d8bba68345e9f68dec19ecedf4965492c8 Mon Sep 17 00:00:00 2001 From: poholo Date: Thu, 29 Sep 2022 16:13:53 +0800 Subject: [PATCH 25/25] 4.3.8 --- MCVersion.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MCVersion.podspec b/MCVersion.podspec index 89205cd..25c48a0 100755 --- a/MCVersion.podspec +++ b/MCVersion.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| # s.name = "MCVersion" - s.version = "4.3.7" + s.version = "4.3.8" s.summary = "Lightweight Cocoa library for detecting the running device's model and screen size. 作者不更新,我的一些库依赖SDVersion,故发一个MC版本,见谅. 22春季设备更新" s.homepage = "https://github.com/poholo/SDVersion" s.screenshots = "https://dl.dropboxusercontent.com/s/bmfjwfe2ngnivwn/sdversion.png?dl=0"