Device

Device

Swift 库实现 iOS 和 macOS 设备信息识别

该开源项目为Swift开发的设备信息识别库,适用于iOS和macOS平台。通过简单API可获取设备型号、屏幕尺寸等信息,支持最新设备。提供CocoaPods等多种集成方式,不涉及数据收集,保护用户隐私。

DeviceiOSMacOS硬件检测设备识别Github开源项目

设备

版本 许可证 平台 Carthage兼容 Swift包管理器 Twitter

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.swiftdependencies值中一样简单。

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) 的视频教程:

YouTube

隐私

Device不收集任何数据。我们提供此声明以帮助您填写应用隐私详情。由于Device没有使用Apple在这里列出的任何需要理由的隐私API,因此此SDK不需要xcprivacy清单。

作者

Lucas Ortis:

维护者

Pran Kishore:

许可证

Device 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多