获取手机IP地址的方法:
然后写一个方法如下:
//获取手机ip地址
+(NSString *)getiPhoneIPAddresses{
int sockfd =socket(AF_INET,SOCK_DGRAM, 0);
NSMutableArray *ips = [NSMutableArray array];
int BUFFERSIZE =4096;
struct ifconf ifc;
char buffer[BUFFERSIZE], *ptr, lastname[IFNAMSIZ], *cptr;
struct ifreq *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 = (struct ifreq *)ptr;
int len =sizeof(struct sockaddr);
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)];
[ips addObject:ip];
}
}
close(sockfd);
NSString *deviceIP =@"";
for (int i=0; i < ips.count; i++){
if (ips.count >0){
deviceIP = [NSString stringWithFormat:@"%@",ips.lastObject];
}
}
return deviceIP;
}
- //手机序列号
- NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];
- NSLog(@"手机序列号: %@",identifierNumber);
- //手机别名: 用户定义的名称
- NSString* userPhoneName = [[UIDevice currentDevice] name];
- NSLog(@"手机别名: %@", userPhoneName);
- //设备名称
- NSString* deviceName = [[UIDevice currentDevice] systemName];
- NSLog(@"设备名称: %@",deviceName );
- //手机系统版本
- NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];
- NSLog(@"手机系统版本: %@", phoneVersion);
- //手机型号
- NSString* phoneModel = [[UIDevice currentDevice] model];
- NSLog(@"手机型号: %@",phoneModel );
- //地方型号 (国际化区域名称)
- NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];
- NSLog(@"国际化区域名称: %@",localPhoneModel );
- NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
- // 当前应用名称
- NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"];
- NSLog(@"当前应用名称:%@",appCurName);
- // 当前应用软件版本 比如:1.0.1
- NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
- NSLog(@"当前应用软件版本:%@",appCurVersion);
- // 当前应用版本号码 int类型
- NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];
- NSLog(@"当前应用版本号码:%@",appCurVersionNum);
结果:
- 2012-10-19 14:07:47.622 myDemo[5779:707] 手机序列号: 6685c75e34104be0b04c6ceb72985dc381f0f746
- 2012-10-19 14:07:47.624 myDemo[5779:707] 手机别名: “spring sky”的 iPod
- 2012-10-19 14:07:47.627 myDemo[5779:707] 设备名称: iPhone OS
- 2012-10-19 14:07:47.629 myDemo[5779:707] 手机系统版本: 5.1.1
- 2012-10-19 14:07:47.641 myDemo[5779:707] 手机型号: iPod touch
- 2012-10-19 14:07:47.642 myDemo[5779:707] 国际化区域名称: iPod touch
- 2012-10-19 14:07:47.643 myDemo[5779:707] 当前应用名称:myDemo
- 2012-10-19 14:07:47.645 myDemo[5779:707] 当前应用软件版本:1.0.1