亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在IOS上獲得設備的制造和模型?

如何在IOS上獲得設備的制造和模型?

開心每一天1111 2019-06-28 15:26:15
如何在IOS上獲得設備的制造和模型?我想知道是否有可能確定當前設備是什么類型的iPhone(例如)?我知道這是有可能讓模型通過NSString *deviceType = [[UIDevice currentDevice] model];它只會返回,無論我有“iPhone”還是“iPod”,但我想知道是否有可能檢測/知道我是否有iPhone3GS和iPhone4S(實際上,我真正想做的就是確定我是否有3G,因為我做的是相當圖形化的東西).所以是的,讓我知道,謝謝!
查看完整描述

3 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

我添加了一些故障安全,以支持尚未包括在列表中的未來設備:

#import?<sys/utsname.h>#import?"MyClass.h"@implementation?MyClass{
????//(your?private?ivars)}-?(NSString*)?deviceName{
????struct?utsname?systemInfo;

????uname(&systemInfo);

????NSString*?code?=?[NSString?stringWithCString:systemInfo.machine
????????????????????????????????????????encoding:NSUTF8StringEncoding];

????static?NSDictionary*?deviceNamesByCode?=?nil;

????if?(!deviceNamesByCode)?{

????????deviceNamesByCode?=?@{@"i386"??????:?@"Simulator",
??????????????????????????????@"x86_64"????:?@"Simulator",
??????????????????????????????@"iPod1,1"???:?@"iPod?Touch",????????//?(Original)
??????????????????????????????@"iPod2,1"???:?@"iPod?Touch",????????//?(Second?Generation)
??????????????????????????????@"iPod3,1"???:?@"iPod?Touch",????????//?(Third?Generation)
??????????????????????????????@"iPod4,1"???:?@"iPod?Touch",????????//?(Fourth?Generation)
??????????????????????????????@"iPod7,1"???:?@"iPod?Touch",????????//?(6th?Generation)???????
??????????????????????????????@"iPhone1,1"?:?@"iPhone",????????????//?(Original)
??????????????????????????????@"iPhone1,2"?:?@"iPhone",????????????//?(3G)
??????????????????????????????@"iPhone2,1"?:?@"iPhone",????????????//?(3GS)
??????????????????????????????@"iPad1,1"???:?@"iPad",??????????????//?(Original)
??????????????????????????????@"iPad2,1"???:?@"iPad?2",????????????//
??????????????????????????????@"iPad3,1"???:?@"iPad",??????????????//?(3rd?Generation)
??????????????????????????????@"iPhone3,1"?:?@"iPhone?4",??????????//?(GSM)
??????????????????????????????@"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)
??????????????????????????????@"iPad2,5"???:?@"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",??????????//
??????????????????????????????@"iPhone9,3"?:?@"iPhone?7",??????????//
??????????????????????????????@"iPhone9,2"?:?@"iPhone?7?Plus",?????//
??????????????????????????????@"iPhone9,4"?:?@"iPhone?7?Plus",?????//
??????????????????????????????@"iPhone10,1":?@"iPhone?8",??????????//?CDMA
??????????????????????????????@"iPhone10,4":?@"iPhone?8",??????????//?GSM
??????????????????????????????@"iPhone10,2":?@"iPhone?8?Plus",?????//?CDMA
??????????????????????????????@"iPhone10,5":?@"iPhone?8?Plus",?????//?GSM
??????????????????????????????@"iPhone10,3":?@"iPhone?X",??????????//?CDMA
??????????????????????????????@"iPhone10,6":?@"iPhone?X",??????????//?GSM
??????????????????????????????@"iPhone11,2":?@"iPhone?XS",?????????//
??????????????????????????????@"iPhone11,4":?@"iPhone?XS?Max",?????//
??????????????????????????????@"iPhone11,6":?@"iPhone?XS?Max",?????//?China
??????????????????????????????@"iPhone11,8":?@"iPhone?XR",?????????//

??????????????????????????????@"iPad4,1"???:?@"iPad?Air",??????????//?5th?Generation?iPad?(iPad?Air)?-?Wifi
??????????????????????????????@"iPad4,2"???:?@"iPad?Air",??????????//?5th?Generation?iPad?(iPad?Air)?-?Cellular
??????????????????????????????@"iPad4,4"???:?@"iPad?Mini",?????????//?(2nd?Generation?iPad?Mini?-?Wifi)
??????????????????????????????@"iPad4,5"???:?@"iPad?Mini",?????????//?(2nd?Generation?iPad?Mini?-?Cellular)
??????????????????????????????@"iPad4,7"???:?@"iPad?Mini",?????????//?(3rd?Generation?iPad?Mini?-?Wifi?(model?A1599))
??????????????????????????????@"iPad6,7"???:?@"iPad?Pro?(12.9\")",?//?iPad?Pro?12.9?inches?-?(model?A1584)?
??????????????????????????????@"iPad6,8"???:?@"iPad?Pro?(12.9\")",?//?iPad?Pro?12.9?inches?-?(model?A1652)?
??????????????????????????????@"iPad6,3"???:?@"iPad?Pro?(9.7\")",??//?iPad?Pro?9.7?inches?-?(model?A1673)
??????????????????????????????@"iPad6,4"???:?@"iPad?Pro?(9.7\")"???//?iPad?Pro?9.7?inches?-?(models?A1674?and?A1675)
??????????????????????????????};
????}

????NSString*?deviceName?=?[deviceNamesByCode?objectForKey:code];

????if?(!deviceName)?{
????????//?Not?found?on?database.?At?least?guess?main?device?type?from?string?contents:

????????if?([code?rangeOfString:@"iPod"].location?!=?NSNotFound)?{
????????????deviceName?=?@"iPod?Touch";
????????}
????????else?if([code?rangeOfString:@"iPad"].location?!=?NSNotFound)?{
????????????deviceName?=?@"iPad";
????????}
????????else?if([code?rangeOfString:@"iPhone"].location?!=?NSNotFound){
????????????deviceName?=?@"iPhone";
????????}
????????else?{
????????????deviceName?=?@"Unknown";
????????}
????}

????return?deviceName;}//?(rest?of?class?implementation?omitted)@end

我還省略了詳細的信息(例如“A 1507,A 1516,A 1526(中國),A 1529_Global”),并將其放在注釋中,以防您想將其用作面向用戶的字符串,而不是嚇到它們。



查看完整回答
反對 回復 2019-06-28
  • 3 回答
  • 0 關注
  • 835 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號