iOS開發(fā)-獲取設(shè)備名稱

隨便放的圖
隨便放的圖

問題描述

公司開發(fā)APP的時候,領(lǐng)導(dǎo)要求分析設(shè)備用戶量,即用iPhone5s的有多少,iPhone6s的有多少等等。這樣就需要在代碼中獲取設(shè)備的名稱

解決方案

從網(wǎng)上查找了些資料,基本上都是通過獲取到設(shè)備的產(chǎn)品類型來判斷設(shè)備名稱的。廢話不多說,直接上代碼了

導(dǎo)入頭文件 #include <sys/sysctl.h>
- (NSString *)getCurrentDeviceName
{
int mib[2];
size_t len;
char *machine;

    mib[0] = CTL_HW;
    mib[1] = HW_MACHINE;
    sysctl(mib, 2, NULL, &len, NULL, 0);
    machine = malloc(len);
    sysctl(mib, 2, machine, &len, NULL, 0);

    NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
    free(machine);

    if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5";
    if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
    if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c";
    if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c";
    if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s";
    if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s";
    if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
    if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
    if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
    if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";

    if ([platform isEqualToString:@"i386"])      return @"iPhone Simulator";
    if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";
    return platform;
}

附錄

產(chǎn)品類型 設(shè)備名稱
iPhone1,2 iPhone 3G
iPhone2,1 iPhone 3GS
iPhone3,1 iPhone 4
iPhone3,2 iPhone 4
iPhone3,3 iPhone 4
iPhone4,1 iPhone 4s
iPhone5,1 iPhone 5
iPhone5,2 iPhone 5
iPhone5,3 iPhone 5c
iPhone5,4 iPhone 5c
iPhone6,1 iPhone 5s
iPhone6,2 iPhone 5s
iPhone7,1 iPhone 6 Plus
iPhone7,2 iPhone 6
iPhone8,1 iPhone 6s
iPhone8,2 iPhone 6s Plus
iPhone8,4 iPhone SE

注: iPhone 6/6Plus 和 iPhone 6s/6sPlus的產(chǎn)品類型要注意分別

更多產(chǎn)品類型對應(yīng)的設(shè)備名稱請參考http://www.i4.cn/firmware.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 可能由于本身讀書不多的原因,第一次聽說王小波的名字是在一個微信公眾號關(guān)于王小波老師逝世多少周年的文章;文章給...
    藍(lán)莓之夜888閱讀 381評論 2 3
  • 聽蔣勛說紅樓,果真能靜心。林青霞的安眠藥不假。 綿綿的臺灣腔,男人變得文雅,女人變得可愛。 不止說紅樓,會...
    littlecolor閱讀 1,278評論 0 51
  • 和同齡人相比,我的中學(xué)時光有著許多的不同、許多的特別,“住校生”讓我和我的同學(xué)一起學(xué)習(xí)、一起生活;一起經(jīng)歷著早鍛...
    依依ll閱讀 867評論 0 2
  • 【作者】蘇軾 【朝代】宋代 三月七日, 沙湖道中遇雨。 雨具先去, 同行皆狼狽, 余獨(dú)不覺。 已而遂晴, 故作此。...
    MachineLP閱讀 317評論 0 1

友情鏈接更多精彩內(nèi)容