獲取蘋(píng)果手機(jī)的信息(手機(jī)型號(hào)淆院、IP地址)

//

//? iPhoneInfoTool.h

//? M

//

//? Created by zsl on 2017/11/1.

//? Copyright ? 2017年 zsl. All rights reserved.

//

#import

@interfaceiPhoneInfoTool :NSObject

/**

?根據(jù)操作系統(tǒng)獲取蘋(píng)果設(shè)備名稱

?@return 蘋(píng)果設(shè)備名稱名稱

?*/

+ ?(NSString *)getThePhoneNameAccordingToTheOperatingSystem;

/**

?* 獲取設(shè)備的IP地址

?*/

+ ?(NSString *)getDeviceIpAddress;

@end






//

//? iPhoneInfoTool.m

//? M

//

//? Created by zsl on 2017/11/1.

//? Copyright ? 2017年 zsl. All rights reserved.

//

#import "iPhoneInfoTool.h"

/**1、獲取設(shè)備名稱導(dǎo)入頭文件*/

#import "sys/utsname.h"

/**2赴邻、獲取IP地址導(dǎo)入頭文件*/

#include

#include // Per msqr

#import

#include

#import

@implementation iPhoneInfoTool

/**

?* 設(shè)備名稱

?*/

+ (NSString*)getThePhoneNameAccordingToTheOperatingSystem {


? ? //需要#import "sys/utsname.h"

? ? structutsnamesystemInfo;

? ? uname(&systemInfo);

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

? ? //iPhone1,1為型號(hào)標(biāo)識(shí)符

? ? if([deviceStringisEqualToString:@"iPhone1,1"])? ? return@"iPhone 1G";

? ? if([deviceStringisEqualToString:@"iPhone1,2"])? ? return@"iPhone 3G";

? ? if([deviceStringisEqualToString:@"iPhone2,1"])? ? return@"iPhone 3GS";

? ? if([deviceStringisEqualToString:@"iPhone3,1"])? ? return@"iPhone 4";

? ? if ([deviceString isEqualToString:@"iPhone3,2"])? ? return @"Verizon iPhone 4";

? ? if([deviceStringisEqualToString:@"iPhone4,1"])? ? return@"iPhone 4S";

? ? if([deviceStringisEqualToString:@"iPhone5,1"])? ? return@"iPhone 5";

? ? if([deviceStringisEqualToString:@"iPhone5,2"])? ? return@"iPhone 5";

? ? if([deviceStringisEqualToString:@"iPhone5,3"])? ? return@"iPhone 5C";

? ? if([deviceStringisEqualToString:@"iPhone5,4"])? ? return@"iPhone 5C";

? ? if([deviceStringisEqualToString:@"iPhone6,1"])? ? return@"iPhone 5S";

? ? if([deviceStringisEqualToString:@"iPhone6,2"])? ? return@"iPhone 5S";

? ? if([deviceStringisEqualToString:@"iPhone7,1"])? ? return@"iPhone 6 Plus";

? ? if([deviceStringisEqualToString:@"iPhone7,2"])? ? return@"iPhone 6";

? ? if([deviceStringisEqualToString:@"iPhone8,1"])? ? return@"iPhone 6s";

? ? if ([deviceString isEqualToString:@"iPhone8,2"])? ? return @"iPhone 6s Plus";

? ? if([deviceStringisEqualToString:@"iPhone8,4"])? ? return@"iPhone SE";

? ? if([deviceStringisEqualToString:@"iPhone9,1"])? ? return@"iPhone 7";

? ? if([deviceStringisEqualToString:@"iPhone9,3"])? ? return@"iPhone 7";

? ? if([deviceStringisEqualToString:@"iPhone9,2"])? ? return@"iPhone 7 Plus";

? ? if([deviceStringisEqualToString:@"iPhone9,4"])? ? return@"iPhone 7 Plus";

? ? if([deviceStringisEqualToString:@"iPhone10,1"])? return@"iPhone 8";

? ? if([deviceStringisEqualToString:@"iPhone10,4"])? return@"iPhone 8";

? ? if ([deviceString isEqualToString:@"iPhone10,2"])? return @"iPhone 8 Plus";

? ? if ([deviceString isEqualToString:@"iPhone10,5"])? return @"iPhone 8 Plus";

? ? if([deviceStringisEqualToString:@"iPhone10,3"])? return@"iPhone X";

? ? if([deviceStringisEqualToString:@"iPhone10,6"])? return@"iPhone X";

? ? // iPod touch

? ? if([deviceStringisEqualToString:@"iPod1,1"])? ? ? return@"iPod Touch 1G";

? ? if([deviceStringisEqualToString:@"iPod2,1"])? ? ? return@"iPod Touch 2G";

? ? if([deviceStringisEqualToString:@"iPod3,1"])? ? ? return@"iPod Touch 3G";

? ? if([deviceStringisEqualToString:@"iPod4,1"])? ? ? return@"iPod Touch 4G";

? ? if ([deviceString isEqualToString:@"iPod5,1"])? ? ? return @"iPod Touch (5 Gen)";

? ? // iPad 平板電腦

? ? if([deviceStringisEqualToString:@"iPad1,1"])? ? ? return@"iPad";

? ? if([deviceStringisEqualToString:@"iPad1,2"])? ? ? return@"iPad 3G";

? ? if([deviceStringisEqualToString:@"iPad2,1"])? ? ? return@"iPad 2 (WiFi)";

? ? if([deviceStringisEqualToString:@"iPad2,2"])? ? ? return@"iPad 2";

? ? if([deviceStringisEqualToString:@"iPad2,3"])? ? ? return@"iPad 2 (CDMA)";

? ? if([deviceStringisEqualToString:@"iPad2,4"])? ? ? return@"iPad 2";

? ? if([deviceStringisEqualToString:@"iPad2,5"])? ? ? return@"iPad Mini (WiFi)";

? ? if([deviceStringisEqualToString:@"iPad2,6"])? ? ? return@"iPad Mini";

? ? if ([deviceString isEqualToString:@"iPad2,7"])? ? ? return @"iPad Mini (GSM+CDMA)";

? ? if([deviceStringisEqualToString:@"iPad3,1"])? ? ? return@"iPad 3 (WiFi)";

? ? if([deviceStringisEqualToString:@"iPad3,2"])? ? ? return@"iPad 3 (GSM+CDMA)";

? ? if([deviceStringisEqualToString:@"iPad3,3"])? ? ? return@"iPad 3";

? ? if([deviceStringisEqualToString:@"iPad3,4"])? ? ? return@"iPad 4 (WiFi)";

? ? if([deviceStringisEqualToString:@"iPad3,5"])? ? ? return@"iPad 4";

? ? if([deviceStringisEqualToString:@"iPad3,6"])? ? ? return@"iPad 4 (GSM+CDMA)";

? ? if([deviceStringisEqualToString:@"iPad4,1"])? ? ? return@"iPad Air (WiFi)";

? ? if ([deviceString isEqualToString:@"iPad4,2"])? ? ? return @"iPad Air (Cellular)";

? ? if ([deviceString isEqualToString:@"iPad4,4"])? ? ? return @"iPad Mini 2 (WiFi)";

? ? if ([deviceString isEqualToString:@"iPad4,5"])? ? ? return @"iPad Mini 2 (Cellular)";

? ? if([deviceStringisEqualToString:@"iPad4,6"])? ? ? return@"iPad Mini 2";

? ? if([deviceStringisEqualToString:@"iPad4,7"])? ? ? return@"iPad Mini 3";

? ? if([deviceStringisEqualToString:@"iPad4,8"])? ? ? return@"iPad Mini 3";

? ? if([deviceStringisEqualToString:@"iPad4,9"])? ? ? return@"iPad Mini 3";

? ? if ([deviceString isEqualToString:@"iPad5,1"])? ? ? return @"iPad Mini 4 (WiFi)";

? ? if([deviceStringisEqualToString:@"iPad5,2"])? ? ? return@"iPad Mini 4 (LTE)";

? ? if([deviceStringisEqualToString:@"iPad5,3"])? ? ? return@"iPad Air 2";

? ? if([deviceStringisEqualToString:@"iPad5,4"])? ? ? return@"iPad Air 2";

? ? if([deviceStringisEqualToString:@"iPad6,3"])? ? ? return@"iPad Pro 9.7";

? ? if([deviceStringisEqualToString:@"iPad6,4"])? ? ? return@"iPad Pro 9.7";

? ? if([deviceStringisEqualToString:@"iPad6,7"])? ? ? return@"iPad Pro 12.9";

? ? if([deviceStringisEqualToString:@"iPad6,8"])? ? ? return@"iPad Pro 12.9";

? ? if([deviceStringisEqualToString:@"AppleTV2,1"])? ? return@"Apple TV 2";

? ? if([deviceStringisEqualToString:@"AppleTV3,1"])? ? return@"Apple TV 3";

? ? if([deviceStringisEqualToString:@"AppleTV3,2"])? ? return@"Apple TV 3";

? ? if([deviceStringisEqualToString:@"AppleTV5,3"])? ? return@"Apple TV 4";

? ? if([deviceStringisEqualToString:@"i386"])? ? ? ? return@"Simulator";

? ? if([deviceStringisEqualToString:@"x86_64"])? ? ? return@"Simulator";


? ? returndeviceString;


}

/**

?* 設(shè)備IP地址

?*/

+ (NSString*)getDeviceIpAddress {


? ? intsockfd =socket(AF_INET,SOCK_DGRAM,0);


? ? NSMutableArray *ips = [NSMutableArray array];


? ? intBUFFERSIZE =4096;


? ? structifconfifc;


? ? charbuffer[BUFFERSIZE], *ptr, lastname[IFNAMSIZ], *cptr;


? ? structifreq*ifr, ifrcopy;


? ? ifc.ifc_len= BUFFERSIZE;

? ? ifc.ifc_buf= buffer;


? ? if(ioctl(sockfd,SIOCGIFCONF, &ifc) >=0){


? ? ? ? for(ptr = buffer; ptr < buffer + ifc.ifc_len; ){


? ? ? ? ? ? ifr = (structifreq*)ptr;

? ? ? ? ? ? intlen =sizeof(structsockaddr);


? ? ? ? ? ? if(ifr->ifr_addr.sa_len> len) {

? ? ? ? ? ? ? ? len = ifr->ifr_addr.sa_len;

? ? ? ? ? ? }


? ? ? ? ? ? ptr +=sizeof(ifr->ifr_name) + len;

? ? ? ? ? ? if(ifr->ifr_addr.sa_family!=AF_INET)continue;

? ? ? ? ? ? if((cptr = (char*)strchr(ifr->ifr_name,':')) !=NULL) *cptr =0;

? ? ? ? ? ? if(strncmp(lastname, ifr->ifr_name,IFNAMSIZ) ==0)continue;


? ? ? ? ? ? memcpy(lastname, ifr->ifr_name,IFNAMSIZ);

? ? ? ? ? ? ifrcopy = *ifr;

? ? ? ? ? ? ioctl(sockfd,SIOCGIFFLAGS, &ifrcopy);


? ? ? ? ? ? if((ifrcopy.ifr_flags&IFF_UP) ==0)continue;


? ? ? ? ? ? NSString *ip = [NSString? stringWithFormat:@"%s", inet_ntoa(((struct sockaddr_in *)&ifr->ifr_addr)->sin_addr)];

? ? ? ? ? ? [ipsaddObject:ip];

? ? ? ? }

? ? }

? ? close(sockfd);

? ? NSString*deviceIP =@"";


? ? for(inti=0; i < ips.count; i++) {

? ? ? ? if(ips.count>0) {

? ? ? ? ? ? deviceIP = [NSString stringWithFormat:@"%@",ips.lastObject];

? ? ? ? }

? ? }

? ? returndeviceIP;

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子梭纹,更是在濱河造成了極大的恐慌,老刑警劉巖致份,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栗柒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)瞬沦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)太伊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人逛钻,你說(shuō)我怎么就攤上這事僚焦。” “怎么了曙痘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵芳悲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我边坤,道長(zhǎng)名扛,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任茧痒,我火速辦了婚禮肮韧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旺订。我一直安慰自己弄企,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布区拳。 她就那樣靜靜地躺著拘领,像睡著了一般。 火紅的嫁衣襯著肌膚如雪樱调。 梳的紋絲不亂的頭發(fā)上约素,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音笆凌,去河邊找鬼业汰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛菩颖,可吹牛的內(nèi)容都是我干的样漆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼晦闰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼放祟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起呻右,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤跪妥,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后声滥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體眉撵,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侦香,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纽疟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罐韩。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖污朽,靈堂內(nèi)的尸體忽然破棺而出散吵,到底是詐尸還是另有隱情,我是刑警寧澤蟆肆,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布矾睦,位于F島的核電站,受9級(jí)特大地震影響炎功,放射性物質(zhì)發(fā)生泄漏枚冗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一蛇损、第九天 我趴在偏房一處隱蔽的房頂上張望赁温。 院中可真熱鬧,春花似錦州藕、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至沉帮,卻和暖如春锈死,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背穆壕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工待牵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喇勋。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓缨该,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親川背。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贰拿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容