iOS開發—獲取手機型號

頁面先引入頭文件 #import <sys/utsname.h>

- (NSString *)getMobileType {
        struct utsname systemInfo;
        uname(&systemInfo);
        NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
        static NSDictionary* deviceNamesByCode = nil;
        
        if (!deviceNamesByCode) {
            deviceNamesByCode = @{@"iPod1,1"   :@"iPod Touch",      // (Original)
                                  @"iPod2,1"   :@"iPod Touch",      // (Second Generation)
                                  @"iPod3,1"   :@"iPod Touch",      // (Third Generation)
                                  @"iPod4,1"   :@"iPod Touch",      // (Fourth Generation)
                                  @"iPod5,1"   :@"iPod Touch",      // (Fifth Generation)
                                  @"iPod7,1"   :@"iPod Touch",      // (Sixth Generation)
                                  @"iPhone1,1" :@"iPhone",          // (Original)
                                  @"iPhone1,2" :@"iPhone 3G",       // (3G)
                                  @"iPhone2,1" :@"iPhone 3GS",      // (3GS)
                                  @"iPad1,1"   :@"iPad",            // (Original)
                                  @"iPad2,1"   :@"iPad 2",          //
                                  @"iPad2,2"   :@"iPad 2",          //
                                  @"iPad2,3"   :@"iPad 2",          //
                                  @"iPad2,4"   :@"iPad 2",          //
                                  @"iPad3,1"   :@"iPad",            // (3rd Generation)
                                  @"iPad3,2"   :@"iPad",            // (3rd Generation)
                                  @"iPad3,3"   :@"iPad",            // (3rd Generation)
                                  @"iPhone3,1" :@"iPhone 4",        // (GSM)
                                  @"iPhone3,2" :@"iPhone 4",        // iPhone 4
                                  @"iPhone3,3" :@"iPhone 4",        // (CDMA/Verizon/Sprint)
                                  @"iPhone4,1" :@"iPhone 4S",       //
                                  @"iPhone5,1" :@"iPhone 5",        // (model A1428, AT&T/Canada)
                                  @"iPhone5,2" :@"iPhone 5",        // (model A1429, everything else)
                                  @"iPad3,4"   :@"iPad",            // (4th Generation)
                                  @"iPad3,5"   :@"iPad",            // (4th Generation)
                                  @"iPad3,6"   :@"iPad",            // (4th Generation)
                                  @"iPad2,5"   :@"iPad Mini",       // (Original)
                                  @"iPad2,6"   :@"iPad Mini",       // (Original)
                                  @"iPad2,7"   :@"iPad Mini",       // (Original)
                                  @"iPhone5,3" :@"iPhone 5c",       // (model A1456, A1532 | GSM)
                                  @"iPhone5,4" :@"iPhone 5c",       // (model A1507, A1516, A1526 (China), A1529 | Global)
                                  @"iPhone6,1" :@"iPhone 5s",       // (model A1433, A1533 | GSM)
                                  @"iPhone6,2" :@"iPhone 5s",       // (model A1457, A1518, A1528 (China), A1530 | Global)
                                  @"iPhone7,1" :@"iPhone 6 Plus",   //
                                  @"iPhone7,2" :@"iPhone 6",        //
                                  @"iPhone8,1" :@"iPhone 6s",       //
                                  @"iPhone8,2" :@"iPhone 6s Plus",  //
                                  @"iPhone8,4" :@"iPhone SE",       //
                                  @"iPhone9,1" :@"iPhone 7",        // (model A1660 | CDMA)
                                  @"iPhone9,3" :@"iPhone 7",        // (model A1778 | Global)
                                  @"iPhone9,2" :@"iPhone 7 Plus",   // (model A1661 | CDMA)
                                  @"iPhone9,4" :@"iPhone 7 Plus",   // (model A1784 | Global)
                                  @"iPhone10,3":@"iPhone X",        // (model A1865, A1902)
                                  @"iPhone10,6":@"iPhone X",        // (model A1901)
                                  @"iPhone10,1":@"iPhone 8",        // (model A1863, A1906, A1907)
                                  @"iPhone10,4":@"iPhone 8",        // (model A1905)
                                  @"iPhone10,2":@"iPhone 8 Plus",   // (model A1864, A1898, A1899)
                                  @"iPhone10,5":@"iPhone 8 Plus",   // (model A1897)
                                  @"iPhone11,2":@"iPhone XS",       //
                                  @"iPhone11,4":@"iPhone XS Max",   //
                                  @"iPhone11,6":@"iPhone XS Max",   //
                                  @"iPhone11,8":@"iPhone XR",        //
                                  @"iPhone12,1":@"iPhone 11",        //
                                  @"iPhone12,3":@"iPhone 11 Pro",        //
                                  @"iPhone12,5":@"iPhone 11 Pro Max",        //
                                  @"iPad4,1"   :@"iPad Air",        // 5th Generation iPad (iPad Air) - Wifi
                                  @"iPad4,2"   :@"iPad Air",        // 5th Generation iPad (iPad Air) - Cellular
                                  @"iPad4,3"   :@"iPad Air",        // 5th Generation iPad (iPad Air)
                                  @"iPad4,4"   :@"iPad Mini 2",     // (2nd Generation iPad Mini - Wifi)
                                  @"iPad4,5"   :@"iPad Mini 2",     // (2nd Generation iPad Mini - Cellular)
                                  @"iPad4,6"   :@"iPad Mini 2",     // (2nd Generation iPad Mini)
                                  @"iPad4,7"   :@"iPad Mini 3",     // (3rd Generation iPad Mini)
                                  @"iPad4,8"   :@"iPad Mini 3",     // (3rd Generation iPad Mini)
                                  @"iPad4,9"   :@"iPad Mini 3",     // (3rd Generation iPad Mini)
                                  @"iPad5,1"   :@"iPad Mini 4",     // (4th Generation iPad Mini)
                                  @"iPad5,2"   :@"iPad Mini 4",     // (4th Generation iPad Mini)
                                  @"iPad5,3"   :@"iPad Air 2",      // 6th Generation iPad (iPad Air 2)
                                  @"iPad5,4"   :@"iPad Air 2",      // 6th Generation iPad (iPad Air 2)
                                  @"iPad6,3"   :@"iPad Pro 9.7-inch",// iPad Pro 9.7-inch
                                  @"iPad6,4"   :@"iPad Pro 9.7-inch",// iPad Pro 9.7-inch
                                  @"iPad6,7"   :@"iPad Pro 12.9-inch",// iPad Pro 12.9-inch
                                  @"iPad6,8"   :@"iPad Pro 12.9-inch",// iPad Pro 12.9-inch
                                  @"iPad7,1"   :@"iPad Pro 12.9-inch",// 2nd Generation iPad Pro 12.5-inch - Wifi
                                  @"iPad7,2"   :@"iPad Pro 12.9-inch",// 2nd Generation iPad Pro 12.5-inch - Cellular
                                  @"iPad7,3"   :@"iPad Pro 10.5-inch",// iPad Pro 10.5-inch - Wifi
                                  @"iPad7,4"   :@"iPad Pro 10.5-inch",// iPad Pro 10.5-inch - Cellular
                                  @"AppleTV2,1":@"Apple TV",        // Apple TV (2nd Generation)
                                  @"AppleTV3,1":@"Apple TV",        // Apple TV (3rd Generation)
                                  @"AppleTV3,2":@"Apple TV",        // Apple TV (3rd Generation - Rev A)
                                  @"AppleTV5,3":@"Apple TV",        // Apple TV (4th Generation)
                                  @"AppleTV6,2":@"Apple TV 4K",     // Apple TV 4K
                                  
                                  };
        }
        NSString* deviceName = [deviceNamesByCode objectForKey:deviceModel];
        return deviceName;
}








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章