Device检测当前设备型号和屏幕尺寸。
安装
CocoaPods
Device可通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中:
pod "Device", '~> 3.6.0'
Carthage
Carthage是一个去中心化的依赖管理器,它构建您的依赖项并为您提供二进制框架。
您可以使用Homebrew通过以下命令安装Carthage:
$ brew update
$ brew install carthage
要使用Carthage将Device集成到您的Xcode项目中,请在Cartfile
中指定它:
github "Ekhoo/Device" ~> 3.6.0
运行carthage update
以构建框架,并将构建的Device.framework
拖入您的Xcode项目中。
Swift包管理器
Swift包管理器是一个用于自动化Swift代码分发的工具,它集成在swift
编译器中。
一旦您设置好Swift包,将Device作为依赖项添加就像将它添加到Package.swift
的dependencies
值中一样简单。
dependencies: [
.package(url: "https://github.com/Ekhoo/Device.git", from: "3.6.0")
]
使用方法
iOS
设备版本
func myFunc() {
/*** 显示设备版本 ***/
switch Device.version() {
/*** iPhone ***/
case .iPhone4: print("这是iPhone 4")
case .iPhone4S: print("这是iPhone 4S")
case .iPhone5: print("这是iPhone 5")
case .iPhone5C: print("这是iPhone 5C")
case .iPhone5S: print("这是iPhone 5S")
case .iPhone6: print("这是iPhone 6")
case .iPhone6S: print("这是iPhone 6S")
case .iPhone6Plus: print("这是iPhone 6 Plus")
case .iPhone6SPlus: print("这是iPhone 6S Plus")
case .iPhoneSE: print("这是iPhone SE")
case .iPhone7: print("这是iPhone 7")
case .iPhone7Plus: print("这是iPhone 7 Plus")
case .iPhone8: print("这是iPhone 8")
case .iPhone8Plus: print("这是iPhone 8 Plus")
case .iPhoneX: print("这是iPhone X")
case .iPhoneXS: print("这是iPhone Xs")
case .iPhoneXS_Max: print("这是iPhone Xs Max")
case .iPhoneXR: print("这是iPhone Xr")
/*** iPad ***/
case .iPad1: print("这是iPad 1")
case .iPad2: print("这是iPad 2")
case .iPad3: print("这是iPad 3")
case .iPad4: print("这是iPad 4")
case .iPad5: print("这是iPad 5")
case .iPad6: print("这是iPad 6")
case .iPadAir: print("这是iPad Air")
case .iPadAir2: print("这是iPad Air 2")
case .iPadMini: print("这是iPad Mini")
case .iPadMini2: print("这是iPad Mini 2")
case .iPadMini3: print("这是iPad Mini 3")
case .iPadMini4: print("这是iPad Mini 4")
case .iPadPro9_7Inch: print("这是iPad Pro 9.7英寸")
case .iPadPro10_5Inch: print("这是iPad Pro 10.5英寸")
case .iPadPro12_9Inch: print("这是iPad Pro 12.9英寸")
/*** iPod ***/
case .iPodTouch1Gen: print("这是第一代iPod touch")
case .iPodTouch2Gen: print("这是第二代iPod touch")
case .iPodTouch3Gen: print("这是第三代iPod touch")
case .iPodTouch4Gen: print("这是第四代iPod touch")
case .iPodTouch5Gen: print("这是第五代iPod touch")
case .iPodTouch6Gen: print("这是第六代iPod touch")
/*** 模拟器 ***/
case .Simulator: print("这是模拟器")
/*** 未知 ***/
default: print("这是未知设备")
}
}
设备屏幕尺寸
func myFunc() {
/*** 显示设备屏幕尺寸 ***/
switch Device.size() {
case .screen3_5Inch: print("这是3.5英寸屏幕")
case .screen4Inch: print("这是4英寸屏幕")
case .screen4_7Inch: print("这是4.7英寸屏幕")
case .screen5_5Inch: print("这是5.5英寸屏幕")
case .screen5_8Inch: print("这是5.8英寸屏幕")
case .screen6_1Inch: print("这是6.1英寸屏幕")
case .screen6_5Inch: print("这是6.5英寸屏幕")
case .screen7_9Inch: print("这是7.9英寸屏幕")
case .screen9_7Inch: print("这是9.7英寸屏幕")
case .screen10_5Inch: print("这是10.5英寸屏幕")
case .screen12_9Inch: print("这是12.9英寸屏幕")
default: print("未知尺寸")
}
}
设备类型
func myFunc() {
/*** 显示设备类型 ***/
switch Device.type() {
case .iPod: print("这是一台iPod")
case .iPhone: print("这是一部iPhone")
case .iPad: print("这是一台iPad")
case .Simulator: print("这是一个模拟设备")
default: print("未知设备类型")
}
}
或者
func myFunc() {
/*** 显示设备类型 ***/
if (Device.isPad()){
print("这是一台iPad")
}
else if (Device.isPhone()){
print("这是一部iPhone")
}
else if (Device.isPod()){
print("这是一台iPod")
}
else if (Device.isSimulator()){
print("这是一个模拟设备")
}
}
Mac
Mac版本
func myFunc() {
/*** 显示Mac版本 ***/
switch Device.type() {
case .iMac: print("这是一台iMac")
case .macBook: print("这是一台MacBook")
case .macBookAir: print("这是一台MacBook Air")
case .macBookPro: print("这是一台MacBook Pro")
default: print("未知设备类型")
}
}
Mac屏幕尺寸
func myFunc() {
/*** 显示Mac屏幕尺寸 ***/
switch Device.size() {
case .screen11Inch: print("这是一个11英寸屏幕")
case .screen12Inch: print("这是一个12英寸屏幕")
case .screen13Inch: print("这是一个13英寸屏幕")
case .screen15Inch: print("这是一个15英寸屏幕")
case .screen17Inch: print("这是一个17英寸屏幕")
case .screen21_5Inch: print("这是一个21.5英寸屏幕")
case .screen27Inch: print("这是一个27英寸屏幕")
default: print("未知尺寸")
}
}
辅助函数
func myFunc() {
/*** 辅助函数 ***/
if Device.size() == Size.screen4Inch {
print("这是一个4英寸屏幕")
}
if Device.size() > Size.screen4_7Inch {
print("您的设备屏幕大于4.7英寸")
}
if Device.size() < Size.screen4_7Inch {
print("您的设备屏幕小于4.7英寸")
}
if Device.size() == Size.screen27Inch {
print("这是一个27英寸屏幕")
}
if Device.size() > Size.screen15Inch {
print("您的Mac屏幕大于15英寸")
}
if Device.size() < Size.screen15Inch {
print("您的Mac屏幕小于15英寸")
}
if Device.isRetina() {
print("这是一个视网膜显示屏")
}
}
Alex Nagy (@rebeloper) 的视频教程:
隐私
Device不收集任何数据。我们提供此声明以帮助您填写应用隐私详情。由于Device没有使用Apple在这里列出的任何需要理由的隐私API,因此此SDK不需要xcprivacy清单。
作者
Lucas Ortis:
维护者
Pran Kishore:
许可证
Device 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。