Project Icon

Device

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

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

设备

版本 许可证 平台 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 文件。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

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

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号