zoukankan      html  css  js  c++  java
  • 获取iOS设备型号的方法总结

    三种常用的办法获取iOS设备的型号:

    1. [UIDevice currentDevice].model (推荐);

    2. uname(struct utsname *name) ,使用此函数需要#include ;

    3.sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp,

             size_t newlen) ,使用此函数需要#include ,#include;

    推荐使用第一种方法,为最上层的API,在项目开发中推荐使用高级的API ,因为其识别度高,更简洁易用。2、3两种都是BSD级别的API ,为底层的API,不推荐。

    示例:

    1. NSString * strModel  = [UIDevice currentDevice].model ;

    2. struct utsname systemInfo 

         uname(&systemInfo) 

        NSString * strModel = [NSString stringWithCString:systemInfo.machine

                                                                                 encoding:NSUTF8StringEncoding];

    3. size_t size 

         sysctlbyname ("hw.machine" , NULL , &size ,NULL ,0)

         char *model = (char *)malloc(size)

         sysctlbyname ("hw.machine" , model , &size ,NULL ,0)

         NSString * strModel = [NSString stringWithCString: model

                                                                                 encoding:NSUTF8StringEncoding];

    获取了设备型号之后,还不能准确的了解其设备类型,还需要找到与其型号对应的设备说明。

    如iPad2,1对应的是 iPad2(WIFI)。

    此对应表已有前人很好总结出来:

    struct utsname systemInfo;

    uname(&systemInfo);
    NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
     

    通过,如上方式即可获取到设备的型号信息,具体对应关系如下,截止2013,2,5。

      iphone 5,1   iphone5(移动,联通)
      iphone 5,2   iphone5(移动,电信,联通)
      iphone 4,1     iphone4S
      iphone 3,1     iphone4(移动,联通)
      iphone 3,2     iphone4(联通)
      iphone 3,3     iphone4(电信)
      iphone 2,1       iphone3GS
      iphone 1,2     iphone3G
      iphone 1,1     iphone
      ipad 1,1     ipad 1
      ipad 2,1     ipad 2(Wifi)
      ipad 2,2     ipad 2(GSM)
      ipad 2,3     ipad 2(CDMA)
      ipad 2,4     ipad 2(32nm)
      ipad 2,5     ipad mini(Wifi)
      ipad 2,6     ipad mini(GSM)
      ipad 2,7     ipad mini(CDMA)
      ipad 3,1     ipad 3(Wifi)
      ipad 3,2     ipad 3(CDMA)
      ipad 3,3     ipad 3(4G)
      ipad 3,4     ipad 4(Wifi)
      ipad 3,5     ipad 4(4G)
      ipad 3,6     ipad 4(CDMA)
      ipod 5,1     ipod touch 5
      ipod 4,1     ipod touch 4
      ipod 3,1     ipod touch 3
      ipod 2,1     ipod touch 2
      ipod 1,1     ipod touch

  • 相关阅读:
    hdu 4970 树状数组 “改段求段”
    hdu 2242 无向图/求用桥一分为二后使俩个bcc点权值和之差最小并输出 /缩点+2次新图dfs
    hdu3715 2-sat+二分
    hdu 3639 有向图缩点+建反向图+搜索
    hdu 3072 有向图缩点成最小树形图计算最小权
    hdu 3061 hdu 3996 最大权闭合图 最后一斩
    hdu 3879 hdu 3917 构造最大权闭合图 俩经典题
    hdu 4738 无向图缩点断桥 // 细节坑题
    hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割
    hdu 3657 最小割的活用 / 奇偶方格取数类经典题 /最小割
  • 原文地址:https://www.cnblogs.com/isItOk/p/4875532.html
Copyright © 2011-2022 走看看