SDVersion 4.3.2

SDVersion 4.3.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年11月

由 Sebastian Dobrincu 维护。Sebastian Dobrincu.




SDVersion 4.3.2

  • Sebastian Dobrincu

轻量级 Cocoa 库,用于检测正在运行的设备型号和屏幕尺寸。

对于新设备的 ,开发者需要做更多的工作。这个库通过允许他们获取关于正在运行的设备的信息,简化了他们的工作。

SDVersion 支持 iOS、watchOS、tvOS 和 macOS。使用下方的链接浏览每个平台的实现。

iOS Mac

工作原理

      // Check for device model
      if ([SDVersion deviceVersion] == iPhone7)
           NSLog(@"You got the iPhone 7. Sweet 🍭!");
      else if ([SDVersion deviceVersion] == iPhone6SPlus)
           NSLog(@"iPhone 6S Plus? Bigger is better!");
      else if ([SDVersion deviceVersion] == iPadAir2)
      	   NSLog(@"You own an iPad Air 2 🌀!");

      // Check for device screen size
      if ([SDVersion deviceSize] == Screen4Dot7inch)
           NSLog(@"Your screen is 4.7 inches");

      // Check if screen is in zoom mode
      if ([SDVersion isZoomed])
      	   NSLog(@"Your device is in Zoom Mode 🔎");

      // Get device name
      NSLog(@"%@", [SDVersion deviceNameString]);
      /* e.g: Outputs 'iPhone 7 Plus' */

      // Check for iOS Version
      if ([SDVersion versionGreaterThanOrEqualTo:@"10"])
           NSLog(@"You are running iOS 10 or above!");

SDVersion Swift
Swift 版本

      // Check for device model
      if SDiOSVersion.deviceVersion() == .iPhone7 {
            print("You got the iPhone 7. Sweet 🍭!")
      }

      // Check for device screen size
      if SDiOSVersion.deviceSize() == .Screen3Dot5inch {
            print("Still on 3.5 inches!? 😮")
      }

      // Get device name
      print(SDiOSVersion.deviceNameString())
      /* e.g: Outputs 'iPhone 7 Plus' */

      // Check for iOS Version
      if SDiOSVersion.versionGreaterThan("10") {
            print("You are running iOS 10 or above!")
      }

添加到你的项目中

你可以用两种方式将 SDVersion 添加到你的项目中

手动安装

只需要在项目中导入 'SDVersion',然后在你要使用它的类中导入以下内容

      #import "SDVersion.h"

在 Swift 中,你需要在头桥接文件中导入特定版本的库,而不是库包装器

     #import "SDiOSVersion.h" // Or SDMacVersion.h

Podfile

        pod 'SDVersion'

iOS

可用方法

	+ (DeviceVersion)deviceVersion;
	+ (NSString *)deviceNameForVersion:(DeviceVersion)deviceVersion;
	+ (DeviceSize)resolutionSize;
	+ (DeviceSize)deviceSize;
	+ (NSString *)deviceSizeName:(DeviceSize)deviceSize;
	+ (NSString *)deviceNameString;
	+ (BOOL)isZoomed;

可靶向模型

iPhone4
iPhone4S
iPhone5
iPhone5C
iPhone5S
iPhone6
iPhone6Plus
iPhone6S
iPhone6SPlus
iPhoneSE
iPhone7
iPhone7Plus

iPad1
iPad2
iPadMini
iPad3
iPad4
iPadAir
iPadMini2
iPadAir2
iPadMini3
iPadMini4
iPadPro9Dot7Inch
iPadPro12Dot9Inch
iPad5

iPodTouch1Gen
iPodTouch2Gen
iPodTouch3Gen
iPodTouch4Gen
iPodTouch5Gen
iPodTouch6Gen

Simulator

可靶向屏幕尺寸

Screen3Dot5inch
Screen4inch
Screen4Dot7inch
Screen5Dot5inch

iOS 版本查找器可用方法

    + (BOOL)versionEqualTo:(NSString *)version;
    + (BOOL)versionGreaterThan:(NSString *)version;
    + (BOOL)versionGreaterThanOrEqualTo:(NSString *)version;
    + (BOOL)versionLessThan:(NSString *)version;
    + (BOOL)versionLessThanOrEqualTo:(NSString *)version;

助手

	  NSLog(@"%@", [SDVersion deviceVersionName:[SDVersion deviceVersion]]);
      /* e.g: Outputs 'iPad Air 2' */

      NSLog(@"%@", [SDVersion deviceSizeName:[SDVersion deviceSize]]);
      /* e.g: Outputs '4.7 inch' */

或者在 Swift 中

      let deviceVersionName = SDiOSVersion.deviceVersionName(SDiOSVersion.deviceVersion())
      let deviceSizeName = SDiOSVersion.deviceSizeName(SDiOSVersion.deviceSize())    

watchOS

可用方法

    + (DeviceVersion)deviceVersion;
	+ (DeviceSize)deviceSize;
	+ (NSString *)deviceName;

可靶向模型

Apple Watch 38mm
Apple Watch 42mm
Apple Watch 38mm Series 1
Apple Watch 42mm Series 1
Apple Watch 38mm Series 2
Apple Watch 42mm Series 2

Simulator

可靶向屏幕尺寸

Screen38mm
Screen42mm

watchOS 版本查找器可用方法

    + (BOOL)versionEqualTo:(NSString *)version;
    + (BOOL)versionGreaterThan:(NSString *)version;
    + (BOOL)versionGreaterThanOrEqualTo:(NSString *)version;
    + (BOOL)versionLessThan:(NSString *)version;
    + (BOOL)versionLessThanOrEqualTo:(NSString *)version;

助手

	  NSLog(@"%@", [SDVersion deviceVersionName:[SDVersion deviceVersion]]);
      /* e.g: Outputs 'Apple Watch 42mm' */

      NSLog(@"%@", [SDVersion deviceSizeName:[SDVersion deviceSize]]);
      /* e.g: Outputs '42mm' */

tvOS

可用方法

    + (DeviceVersion)deviceVersion;
	+ (NSString *)deviceName;

可靶向模型

Apple TV (4th Generation)

Simulator

tvOS 版本查找器可用方法

    + (BOOL)versionEqualTo:(NSString *)version;
    + (BOOL)versionGreaterThan:(NSString *)version;
    + (BOOL)versionGreaterThanOrEqualTo:(NSString *)version;
    + (BOOL)versionLessThan:(NSString *)version;
    + (BOOL)versionLessThanOrEqualTo:(NSString *)version;

助手

	  NSLog(@"%@", [SDVersion deviceVersionName:[SDVersion deviceVersion]]);
      /* e.g: Outputs 'Apple TV (4th Generation)' */

Mac OS

      // Check for device model
      if ([SDVersion deviceVersion] == DeviceVersionIMac)
          NSLog(@"So you have a iMac? 💻");
      else if ([SDVersion deviceVersion] == DeviceVersionMacBookPro)
          NSLog(@"You're using a MacBook Pro.");

      // Check for screen size
      if ([SDVersion deviceSize] == Mac27Inch)
          NSLog(@"Whoah! You got a big ass 27 inch screen.");
      else if ([SDVersion deviceSize] == Mac21Dot5Inch)
          NSLog(@"You have a 21.5 inch screen.");

      // Check for screen resolution
      if ([SDVersion deviceScreenResolution] == DeviceScreenRetina)
          NSLog(@"Nice retina screen!");

      // Get screen resolution in pixels
      NSLog(@"%@", [SDVersion deviceScreenResolutionName:[SDVersion deviceScreenResolution]]);
      /* e.g: Outputs '{2880, 1800}' */

      // Check OSX Version (pass the minor version)
      if([SDVersion versionGreaterThanOrEqualTo:@"11"])
           NSLog(@"Looks like you are running OSX 10.11 El Capitan or 🆙.");

可用方法

    + (DeviceVersion)deviceVersion;
    + (NSString *)deviceVersionString;
    + (DeviceSize)deviceSize;
    + (NSSize)deviceScreenResolutionPixelSize;
    + (DeviceScreenResolution)deviceScreenResolution;

可靶向模型

DeviceVersionIMac
DeviceVersionMacMini
DeviceVersionMacPro
DeviceVersionMacBook
DeviceVersionMacBookAir
DeviceVersionMacBookPro
DeviceVersionXserve

可靶向屏幕尺寸

Mac27Inch
Mac24Inch
Mac21Dot5Inch
Mac20Inch
Mac17Inch
Mac15Inch
Mac13Inch
Mac12Inch
Mac11Inch

可靶向屏幕分辨率

DeviceScreenRetina,
DeviceScreenNoRetina

OSX 版本查找器可用方法

    + (BOOL)versionEqualTo:(NSString *)version;
    + (BOOL)versionGreaterThan:(NSString *)version;
    + (BOOL)versionGreaterThanOrEqualTo:(NSString *)version;
    + (BOOL)versionLessThan:(NSString *)version;
    + (BOOL)versionLessThanOrEqualTo:(NSString *)version;
    /* 'v' must be the minor OS Version. e.g: OSX 10.9 - 'v' is 9 */

助手

      NSLog(@"%@", [SDVersion deviceSizeName:[SDVersion deviceSize]]);
      /* e.g: Outputs '15 inch' */

      NSLog(@"%@",[SDVersion deviceScreenResolutionName:[SDVersion deviceScreenResolution]])
      /* e.g: Outputs '{2880, 1800}' */

使用情况

Who uses SDVersion

许可证

使用受 MIT 许可证的保护。请参阅 LICENSE 以获取完整详细信息。