Device检测当前设备型号和屏幕尺寸。
安装
CocoaPods
通过CocoaPods提供Device。要安装它,只需在Podfile中添加以下行即可
pod "Device", '~> 3.4.0'
Carthage
Carthage是一个去中心化的依赖管理器,它构建您的依赖并提供二进制框架。
您可以使用以下命令通过Homebrew安装Carthage
$ brew update
$ brew install carthage
要使用Carthage将Device集成到您的Xcode项目中,请在Cartfile中指定它
github "Ekhoo/Device" ~> 3.4.0
运行carthage update
以构建框架,并将构建的Device.framework
拖到您的Xcode项目中。
Swift 包管理器
Swift 包管理器是一个自动化 Swift 代码分发工具,集成在 swift
编译器中。
一旦您设置了 Swift 包,将设备作为依赖项加入就像将它添加到 Package.swift
的 dependencies
值一样简单。
dependencies: [
.package(url: "https://github.com/Ekhoo/Device.git", from: "3.4.0")
]
使用方法
iOS
设备版本
func myFunc() {
/*** Display the device version ***/
switch Device.version() {
/*** iPhone ***/
case .iPhone4: print("It's an iPhone 4")
case .iPhone4S: print("It's an iPhone 4S")
case .iPhone5: print("It's an iPhone 5")
case .iPhone5C: print("It's an iPhone 5C")
case .iPhone5S: print("It's an iPhone 5S")
case .iPhone6: print("It's an iPhone 6")
case .iPhone6S: print("It's an iPhone 6S")
case .iPhone6Plus: print("It's an iPhone 6 Plus")
case .iPhone6SPlus: print("It's an iPhone 6 S Plus")
case .iPhoneSE: print("It's an iPhone SE")
case .iPhone7: print("It's an iPhone 7")
case .iPhone7Plus: print("It's an iPhone 7 Plus")
case .iPhone8: print("It's an iPhone 8")
case .iPhone8Plus: print("It's an iPhone 8 Plus")
case .iPhoneX: print("It's an iPhone X")
case .iPhoneXS: print("It's an iPhone Xs")
case .iPhoneXS_Max: print("It's an iPhone Xs Max")
case .iPhoneXR: print("It's an iPhone Xr")
/*** iPad ***/
case .iPad1: print("It's an iPad 1")
case .iPad2: print("It's an iPad 2")
case .iPad3: print("It's an iPad 3")
case .iPad4: print("It's an iPad 4")
case .iPad5: print("It's an iPad 5")
case .iPad6: print("It's an iPad 6")
case .iPadAir: print("It's an iPad Air")
case .iPadAir2: print("It's an iPad Air 2")
case .iPadMini: print("It's an iPad Mini")
case .iPadMini2: print("It's an iPad Mini 2")
case .iPadMini3: print("It's an iPad Mini 3")
case .iPadMini4: print("It's an iPad Mini 4")
case .iPadPro9_7Inch: print("It's an iPad Pro 9.7 Inch")
case .iPadPro10_5Inch: print("It's an iPad Pro 10.5 Inch")
case .iPadPro12_9Inch: print("It's an iPad Pro 12.9 Inch")
/*** iPod ***/
case .iPodTouch1Gen: print("It's a iPod touch generation 1")
case .iPodTouch2Gen: print("It's a iPod touch generation 2")
case .iPodTouch3Gen: print("It's a iPod touch generation 3")
case .iPodTouch4Gen: print("It's a iPod touch generation 4")
case .iPodTouch5Gen: print("It's a iPod touch generation 5")
case .iPodTouch6Gen: print("It's a iPod touch generation 6")
/*** Simulator ***/
case .Simulator: print("It's a Simulator")
/*** Unknown ***/
default: print("It's an unknown device")
}
}
设备屏幕尺寸
func myFunc() {
/*** Display the device screen size ***/
switch Device.size() {
case .screen3_5Inch: print("It's a 3.5 inch screen")
case .screen4Inch: print("It's a 4 inch screen")
case .screen4_7Inch: print("It's a 4.7 inch screen")
case .screen5_5Inch: print("It's a 5.5 inch screen")
case .screen5_8Inch: print("It's a 5.8 inch screen")
case .screen6_1Inch: print("It's a 6.1 inch screen")
case .screen6_5Inch: print("It's a 6.8 inch screen")
case .screen7_9Inch: print("It's a 7.9 inch screen")
case .screen9_7Inch: print("It's a 9.7 inch screen")
case .screen10_5Inch: print("It's a 10.5 inch screen")
case .screen12_9Inch: print("It's a 12.9 inch screen")
default: print("Unknown size")
}
}
设备类型
func myFunc() {
/*** Display the device type ***/
switch Device.type() {
case .iPod: print("It's an iPod")
case .iPhone: print("It's an iPhone")
case .iPad: print("It's an iPad")
case .Simulator: print("It's a Simulated device")
default: print("Unknown device type")
}
}
或
func myFunc() {
/*** Display the device type ***/
if (Device.isPad()){
print("It's an iPad")
}
else if (Device.isPhone()){
print("It's an iPhone")
}
else if (Device.isPod()){
print("It's an iPod")
}
else if (Device.isSimulator()){
print("It's a Simulated device")
}
}
Mac
Mac版本
func myFunc() {
/*** Display the mac version ***/
switch Device.type() {
case .iMac: print("It's an iMac")
case .macBook: print("It's a MacBook")
case .macBookAir: print("It's a MacBook Air")
case .macBookPro: print("It's a MacBook Pro")
default: print("Unknown device type")
}
}
Mac屏幕尺寸
func myFunc() {
/*** Display the mac screen size ***/
switch Device.size() {
case .screen11Inch: print("It's a 11 inch screen")
case .screen12Inch: print("It's a 12 inch screen")
case .screen13Inch: print("It's a 13 inch screen")
case .screen15Inch: print("It's a 15 inch screen")
case .screen17Inch: print("It's a 17 inch screen")
case .screen21_5Inch: print("It's a 21.5 inch screen")
case .screen27Inch: print("It's a 27 inch screen")
default: print("Unknown size")
}
}
辅助工具
func myFunc() {
/*** Helpers ***/
if Device.size() == Size.screen4Inch {
print("It's a 4 inch screen")
}
if Device.size() > Size.screen4_7Inch {
print("Your device screen is larger than 4.7 inch")
}
if Device.size() < Size.screen4_7Inch {
print("Your device screen is smaller than 4.7 inch")
}
if Device.size() == Size.screen27Inch {
print("It's a 27 inch screen")
}
if Device.size() > Size.screen15Inch {
print("Your mac screen is larger than 15 inch")
}
if Device.size() < Size.screen15Inch {
print("Your mac screen is smaller than 15 inch")
}
if Device.isRetina() {
print("It's a retina display")
}
}
由Alex Nagy (@rebeloper)提供的视频教程
作者
Lucas Ortis
维护
Pran Kishore
许可
设备可在MIT许可下使用。有关更多信息,请参阅LICENSE文件。