iOS设备类型(Swift)

原创 2015年11月17日 20:56:59

//

//  DeviceInfo.swift

//

//  Created by A on 15/10/12.

//  Copyright © 2015 A. All rights reserved.

//


import Foundation

import SystemConfiguration.CaptiveNetwork


struct DeviceInfo {


    func getDeviceModel() -> String {

        let name = UnsafeMutablePointer<utsname>.alloc(1)

        uname(name)

        let machine = withUnsafePointer(&name.memory.machine, { (ptr) ->String? in

            let int8Ptr = unsafeBitCast(ptr, UnsafePointer<Int8>.self)

            return String.fromCString(int8Ptr)

        })

        name.dealloc(1)

        var deviceType: String = ""

        if let m = machine {

            switch m {

                // iPhones

            case "iPhone1,1":

                deviceType = "iPhone 2G (A1203)"

            case "iPhone1,2":

                deviceType = "iPhone 3G (A1241/A1324)"

            case "iPhone2,1":

                deviceType = "iPhone 3GS (A1303/A1325)"

            case "iPhone3,1":

                deviceType = "iPhone 4 (A1332)"

            case "iPhone3,2":

                deviceType = "iPhone 4 (A1332)"

            case "iPhone3,3":

                deviceType = "iPhone 4 (A1349)"

            case "iPhone4,1":

                deviceType = "iPhone 4S (A1387/A1431)"

            case "iPhone5,1":

                deviceType = "iPhone 5 (A1428)"

            case "iPhone5,2":

                deviceType = "iPhone 5 (A1429/A1442)"

            case "iPhone5,3":

                deviceType = "iPhone 5C (A1456/A1532)"

            case "iPhone5,4":

                deviceType = "iPhone 5C (A1507/A1516/A1526/A1529)"

            case "iPhone6,1":

                deviceType = "iPhone 5C (A1453/A1533)"

            case "iPhone6,2":

                deviceType = "iPhone 5S (A1457/A1518/A1528/A1530)"

            case "iPhone7,1":

                deviceType = "iPhone 6 Plus (A1522/A1524)"

            case "iPhone7,2":

                deviceType = "iPhone 6 (A1549/A1586)"

                

                // iPods

            case "iPod1,1":

                deviceType = "iPod Touch 1G (A1213)"

            case "iPod2,1":

                deviceType = "iPod Touch 2G (A1288)"

            case "iPod3,1":

                deviceType = "iPod Touch 3G (A1318)"

            case "iPod4,1":

                deviceType = "iPod Touch 4G (A1367)"

            case "iPod5,1":

                deviceType = "iPod Touch 5G (A1421/A1509)"

                

                // iPads

            case "iPad1,1":

                deviceType = "iPad 1G (A1219/A1337)"

            case "iPad2,1":

                deviceType = "iPad 2 (A1395)"

            case "iPad2,2":

                deviceType = "iPad 2 (A1396)"

            case "iPad2,3":

                deviceType = "iPad 2 (A1397)"

            case "iPad2,4":

                deviceType = "iPad 2 (A1395+New Chip)"

            case "iPad2,5":

                deviceType = "iPad Mini 1G (A1432)"

            case "iPad2,6":

                deviceType = "iPad Mini 1G (A1454)"

            case "iPad2,7":

                deviceType = "iPad Mini 1G (A1455)"

            case "iPad3,1":

                deviceType = "iPad 3 (A1416)"

            case "iPad3,2":

                deviceType = "iPad 3 (A1403)"

            case "iPad3,3":

                deviceType = "iPad 3 (A1430)"

            case "iPad3,4":

                deviceType = "iPad 4 (A1458)"

            case "iPad3,5":

                deviceType = "iPad 4 (A1459)"

            case "iPad3,6":

                deviceType = "iPad 4 (A1460)"

            case "iPad4,1":

                deviceType = "iPad Air (A1474)"

            case "iPad4,2":

                deviceType = "iPad Air (A1475)"

            case "iPad4,3":

                deviceType = "iPad Air (A1476)"

            case "iPad4,4":

                deviceType = "iPad Mini 2G (A1489)"

            case "iPad4,5":

                deviceType = "iPad Mini 2G (A1490)"

            case "iPad4,6":

                deviceType = "iPad Mini 2G (A1491)"

                

                // Simulators

            case "i386":

                deviceType = "iPhone Simulator 32Bit"

            case "x86_64":

                deviceType = "iPhone Simulator 64Bit"

                

                // 新机器等待更新列表

            default:

                deviceType = "watting to update"

            }

        }

        return deviceType

    }

    

    func getDeviceTypeOn456() -> Int {

        switch getDeviceModel() {

        case"iPhone 4 (A1332)", "iPhone 4 (A1332)","iPhone 4 (A1349)", "iPhone 4S (A1387/A1431)":

            return 4

        case"iPhone 5 (A1428)", "iPhone 5 (A1429/A1442)","iPhone 5C (A1456/A1532)", "iPhone 5C (A1507/A1516/A1526/A1529)",

            "iPhone 5C (A1453/A1533)","iPhone 5S (A1457/A1518/A1528/A1530)":

            return 5

        case"iPhone 6 Plus (A1522/A1524)", "iPhone 6 (A1549/A1586)":

            return 6

        default:

            return 4

        }

    }

    

    func getSystemVersion() -> String {

        return UIDevice.currentDevice().systemVersion

    }

    

    func getIdfv() -> String? {

        return UIDevice.currentDevice().identifierForVendor?.UUIDString

    }

}

判别ios设备的类型

[cpp] view plaincopyprint? if(UI_USER_INTERFACE_IDIOM() ==UIUserInterfaceIdiomPad)  {  //iPa...

检测当前iOS设备类型方法

由于iOS设备分类众多,功能也有所差异。 大盖分为: 不能打电话,只可以通过wifi上网的iPod, 不能打电话,可以通过wifi上网,部分可以支持3g/4g上网的iPad 以及功能最强大的i...

获取iOS设备类型(已更新iPhone 8, iPhone X)

iOS设备类型,已更新iPhone 8, iPhone X
  • ynnmnm
  • ynnmnm
  • 2012年09月27日 12:08
  • 11881

检测当前iOS设备类型方法

由于iOS设备分类众多,功能也有所差异。

如何将游戏从Unity导到iOS设备上

  • 2015年07月23日 17:07
  • 1.61MB
  • 下载

ICND课件-3-操作与配置Cisco IOS设备

  • 2014年06月12日 23:31
  • 587KB
  • 下载

对IOS设备中UDID的一些思考

http://blog.csdn.net/xiaoguan2008一家之言,难免存在纰漏,欢迎指正,勿吐槽。         UDID是什么?         UDID的全称是Unique...

如何获取iOS设备的UDID号

  • 2012年12月17日 18:26
  • 412KB
  • 下载

获取ios设备号

  • 2017年01月04日 16:50
  • 21KB
  • 下载

让Xcode 生成的ipa支持老的iOS设备(armv6)

今天,突然来了个应用程序不能安装,郁闷啊,搜索“发生未知错误(0xE8003FFE)”,都是出现什么ipod设置或者itunes的东西,没有发表与之相关的。现在发表此文,与大家分享。下面的文档是我知道...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS设备类型(Swift)
举报原因:
原因补充:

(最多只允许输入30个字)