iOS 手機具體機型判斷

該方法用于判斷手機具體機型,如果做屏幕適配因為屏幕分辨率大部分一樣,則不需要這么詳細的判斷,請參考:
IOS 判斷手機型號宏定義

首先導入頭文件

#import "sys/utsname.h"
- (NSString*)deviceVersion
{
   
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString * deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    //iPhone
    if ([deviceString isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
    if ([deviceString isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
    if ([deviceString isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
    if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
    if ([deviceString isEqualToString:@"iPhone3,2"])    return @"iPhone 4";
    if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
    if ([deviceString isEqualToString:@"iPhone5,1"])    return @"iPhone 5";
    if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5";
    if ([deviceString isEqualToString:@"iPhone5,3"])    return @"iPhone 5C";
    if ([deviceString isEqualToString:@"iPhone5,4"])    return @"iPhone 5C";
    if ([deviceString isEqualToString:@"iPhone6,1"])    return @"iPhone 5S";
    if ([deviceString isEqualToString:@"iPhone6,2"])    return @"iPhone 5S";
    if ([deviceString isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    if ([deviceString isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    if ([deviceString isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";
    if ([deviceString isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";
    if ([deviceString isEqualToString:@"iPhone9,1"])    return @"iPhone 7";
    if ([deviceString isEqualToString:@"iPhone9,2"])    return @"iPhone 7 Plus";
    if([deviceString  isEqualToString:@"iPhone10,1"])   return@"iPhone 8";
    if([deviceString  isEqualToString:@"iPhone10,4"])   return@"iPhone 8";
    if([deviceString  isEqualToString:@"iPhone10,2"])   return@"iPhone 8 Plus";
    if([deviceString  isEqualToString:@"iPhone10,5"])   return@"iPhone 8 Plus";
    if([deviceString  isEqualToString:@"iPhone10,3"])   return@"iPhone X";
    if([deviceString  isEqualToString:@"iPhone10,6"])   return@"iPhone X";
    
    return deviceString;
}

使用方法:

  NSString * phoneModel =  [self deviceVersion];
  NSLog(@"%@", phoneModel);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,067評論 25 708
  • 我是一名在鄉鎮衛生院工作多年的精神科醫生,基層條件的艱苦讓人難以想象,回首走過的幾十年風雨滄桑,感慨萬千……...
    衣袂飄然閱讀 329評論 2 5
  • 在多線程的使用中,我們可以使用互斥鎖來使多個線程保持同步。互斥鎖的使用過程中,主要有pthread_mutex_i...
    biggerworld閱讀 3,838評論 0 3
  • 如同獲救之舌 在每個混沌的清晨吻醒我 綿長深刻 像被雨細細的滋潤 我的干涸 我的空虛的靈魂 沒這滋潤 將會被風攜起...
    InvaderNN閱讀 198評論 1 3
  • 朋友中 我是最潦倒的 可當問起他們的愛好、夢想 卻個個搖頭擺腦 他們早已被生活磨平了棱角 每當這時 我都會想:其實...
    呆丫閱讀 226評論 0 0