GBDeviceInfo 7.2.0

GBDeviceInfo 7.2.0

测试已测试
语言语言 Obj-CObjective C
许可证 Apache-2.0
发布最后发布2023年1月

Luka Mirosevic 维护。



  • 作者:
  • Luka Mirosevic

GBDeviceInfo logo

在运行时检测当前 iOS 或 Mac OS X 设备的硬件、软件和显示。

版本 许可证

iOS

简单使用(以运行 iOS 8.1.3 的 iPhone 6 为例)

[[GBDeviceInfo deviceInfo] isOperatingSystemAtLeastVersion:@"8.0"]; // #> YES

[GBDeviceInfo deviceInfo].isJailbroken;                             // #> NO

[GBDeviceInfo deviceInfo].model;                                    // #> GBDeviceModeliPhone6
[GBDeviceInfo deviceInfo].family;                                   // #> GBDeviceFamilyiPad

[GBDeviceInfo deviceInfo].modelString;                              // #> @"iPhone 6"
[GBDeviceInfo deviceInfo].osVersion.major;                          // #> 8
[GBDeviceInfo deviceInfo].osVersion.minor;                          // #> 1

[GBDeviceInfo deviceInfo].displayInfo.pixelsPerInch;                // #> 326

您也可以重用返回的对象以节省一些输入。首先将对象分配给某个变量

GBDeviceInfo *deviceInfo = [GBDeviceInfo deviceInfo];

然后从对象获取所需的内容

//Model numbers
NSLog(@"Major device ver: %d", deviceInfo.deviceVersion.major);     // Major device ver: 7
NSLog(@"Major device ver: %d", deviceInfo.deviceVersion.minor);     // Minor device ver: 2


//Specific model
if (deviceInfo.model == GBDeviceModeliPhone6) {
    NSLog(@"It's a 6");                                             // It's a 6
}

//Family of device
if (deviceInfo.family != GBDeviceFamilyiPad) {
    NSLog(@"It's not an iPad");                                     // It's not an iPad
}

//Screen type
if (deviceInfo.display == GBDeviceDisplayiPhone4p7Inch) {
    NSLog(@"4.7 Inch display");                                     // 4.7 Inch display
}

//iOS Version
if (deviceInfo.majoriOSVersion >= 6) {
    NSLog(@"We've got iOS 6+");                                     // We've got iOS 6+
}

//Raw systemInfo string
NSLog(@"systemInfo: %@", deviceInfo.rawSystemInfoString);           // systemInfo: iPhone7,2

别忘了导入头文件。

#import <GBDeviceInfo/GBDeviceInfo.h>

如果您想使用 isJailbroken 属性,请确保首先将 Jailbreak subspec 添加到项目的 Podfile 中,例如:

pod 'GBDeviceInfo', '~> 6.0'
pod 'GBDeviceInfo/Jailbreak', '~> 6.0'

缺少您需要的属性?提交一个 Pull Request 或联系 [email protected]!

OS X

简单使用(以运行 10.8.2 的具有 Ivy Bridge 3770K 处理器的 Mac Pro 为例)

[[GBDeviceInfo deviceInfo] isOperatingSystemAtLeastVersion:@"10.8"]; // #> YES

[GBDeviceInfo deviceInfo].osVersion.major;                           // #> 10
[GBDeviceInfo deviceInfo].osVersion.minor;                           // #> 8
[GBDeviceInfo deviceInfo].family == GBDeviceFamilyMacPro;            // #> YES
[GBDeviceInfo deviceInfo].isMacAppStoreAvailable;                    // #> YES
[GBDeviceInfo deviceInfo].isIAPAvailable;                            // #> YES

您也可以重用返回的对象以节省一些输入。首先将对象分配给某个变量

GBDeviceInfo *deviceInfo = [GBDeviceInfo deviceInfo];

然后从对象获取所需的内容

GBDeviceInfo *deviceInfo = [GBDeviceInfo deviceInfo];

//OS X Version
if (deviceInfo.osVersion.minor >= 8) {
    NSLog(@"It's OS X 10.8+ (Mountain Lion)");                     // It's OS X 10.8+ (Mountain Lion)
}
if (deviceInfo.osVersion.patch == 2) {
    NSLog(@"Must be running x.x.2");                               // Must be running x.x.2
}

//App Store stuff
if (deviceInfo.isMacAppStoreAvailable) {
    NSLog(@"App store is available.");                             // App store is available
}
if (deviceInfo.isIAPAvailable) {
    NSLog(@"...and so are IAPs");                                  // ...and so are IAPs
}

//Hardware stuff
NSLog(@"SystemInfo: %@", deviceInfo.rawSystemInfoString);          // SystemInfo: MacPro3,1
NSLog(@"Major device ver: %d", deviceInfo.deviceVersion.major);    // Major device ver: 3
NSLog(@"Minor device ver: %d", deviceInfo.deviceVersion.minor);    // Minor device ver: 1
NSLog(@"Node name: %@", deviceInfo.nodeName);                      // Node name: MyMac.local
NSLog(@"RAM: %.3f GB", deviceInfo.physicalMemory);                 // RAM: 16.000 GB
NSLog(@"CPU freq: %.3f GHz", deviceInfo.cpu.frequency);            // CPU freq: 3.500 GHz
NSLog(@"Number of cores: %d", deviceInfo.cpu.numberOfCores);       // Number of cores: 8
NSLog(@"L2 Cache size: %.0f KB", deviceInfo.cpu.l2CacheSize);      // L2 Cache size: 256 KB

//Endianness
if (deviceInfo.byteOrder == GBByteOrderLittleEndian) {
    NSLog(@"Little Endian");                                       // Little Endian
}

//Family of device
if (deviceInfo.family != GBDeviceFamilyMacBookAir) {
    NSLog(@"It's not a Macbook Air");                              // It's not a Macbook Air
}

//Screen resolution
if (deviceInfo.screenResolution.width == 1920 && deviceInfo.screenResolution.height == 1200) {
    NSLog(@"Resolution: 1920x1200");                              // Resolution: 1920x1200
}

别忘了导入框架

#import <GBDeviceInfo/GBDeviceInfo.h>

缺少您需要的属性?提交一个 Pull Request 或联系 [email protected]!

iOS 设备支持

  • iPhone1
  • iPhone3G
  • iPhone3GS
  • iPhone4
  • iPhone4S
  • iPhone5
  • iPhone5C
  • iPhone5S
  • iPhone6
  • iPhone6Plus
  • iPhone6S
  • iPhone6SPlus
  • iPhone7
  • iPhone7Plus
  • iPhone8
  • iPhone8Plus
  • iPhoneSE
  • iPhoneSE2
  • iPhoneSE3
  • iPhoneX
  • iPhoneXR
  • iPhoneXS
  • iPhoneXSMax
  • iPhone11
  • iPhone11Pro
  • iPhone11ProMax
  • iPhone12Mini
  • iPhone12
  • iPhone12Pro
  • iPhone12ProMax
  • iPhone13Mini
  • iPhone13
  • iPhone13Pro
  • iPhone13ProMax
  • iPhone14
  • iPhone14Plus
  • iPhone14Pro
  • iPhone14ProMax
  • iPad1
  • iPad2
  • iPad3
  • iPad4
  • iPad5
  • iPad6
  • iPad7
  • iPad8
  • iPad9
  • iPad10
  • iPadMini1
  • iPadMini2
  • iPadMini3
  • iPadMini4
  • iPadMini5
  • iPadMini6
  • iPadAir1
  • iPadAir2
  • iPadAir3
  • iPadAir4
  • iPadAir5
  • iPadPro9p7Inch
  • iPadPro10p5Inch
  • iPadPro12p9Inch
  • iPadPro12p9Inch2
  • iPadPro11Inch
  • iPadPro11Inch2
  • iPadPro12p9Inch3
  • iPadPro12p9Inch4
  • iPadPro11Inch3
  • iPadPro12p9Inch5
  • iPadPro11Inch4
  • iPadPro12p9Inch6
  • iPod1
  • iPod2
  • iPod3
  • iPod4
  • iPod5
  • iPod6
  • iPod7
  • iPhone 模拟器
  • iPad 模拟器

OS X 设备家族支持

  • iMac
  • iMacPro
  • MacMini
  • MacStudio
  • MacPro
  • MacBook
  • MacBookAir
  • MacBookPro
  • Xserve

作者

Luka Mirosevic (@lmirosevic)

企业

提供高级支持、集成、用例适应和咨询服务。请联系 [email protected]

版权 & 许可

版权所有 2015 Goonbee

根据Apache许可证版本2.0(“许可证”)授权,除非适用法律要求或在书面形式同意,否则不得使用本作品。您可以在LICENSE文件中或以下网址获取许可证副本:

https://apache.ac.cn/licenses/LICENSE2.0

除非适用法律要求或书面同意,根据许可证分发的软件以“原样”为基础分发,除非明确说明,否则不对任何形式的保证或条件承担责任。请参阅许可证了解关于权限和限制的具体语言。