下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
一些登陆项目中 往往需要获取本机的IP地址 Mac地址 本文整理了一下 供大家使用#pragma MARK - 获取Ip 地址-(Nsstring *)getIponeIP{ Nsstring *address = @"error"; struct ifaddrs *interfaces = NulL; struct ifaddrs *temp_addr = NulL; int success = 0; // retrIEve the current interfaces - returns 0 on success success = getifaddrs(&interfaces); if (success == 0) { // Loop through linked List of interfaces temp_addr = interfaces; while(temp_addr != NulL) { if(temp_addr->ifa_addr->sa_family == AF_INET) { // Check if interface is en0 which is the wifi connection on the iPhone if([[Nsstring stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) { // Get Nsstring from C String address = [Nsstring stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)]; } } temp_addr = temp_addr->ifa_next; } } // Free memory freeifaddrs(interfaces); NSLog(@"-------ip %@",address); return address;}#pragma MARK - 获取设备Mac地址-(Nsstring *)getIponeMAC{ int mib[6]; size_t len; char *buf; unsigned char *ptr; struct if_msghdr *ifm; struct sockaddr_dl *sdl; mib[0] = CTL_NET; mib[1] = AF_ROUTE; mib[2] = 0; mib[3] = AF_link; mib[4] = NET_RT_IFList; if ((mib[5] = if_nametoindex("en0")) == 0) { printf("Error: if_nametoindex error/n"); return NulL; } if (sysctl(mib,6,NulL,&len,0) < 0) { printf("Error: sysctl,take 1/n"); return NulL; } if ((buf = malloc(len)) == NulL) { printf("Could not allocate memory. error!/n"); return NulL; } if (sysctl(mib,buf,take 2"); return NulL; } ifm = (struct if_msghdr *)buf; sdl = (struct sockaddr_dl *)(ifm + 1); ptr = (unsigned char *)LLADDR(sdl); Nsstring *outstring = [Nsstring stringWithFormat:@"%02x:%02x:%02x:%02x:%02x:%02x",*ptr,*(ptr+1),*(ptr+2),*(ptr+3),*(ptr+4),*(ptr+5)]; // Nsstring *outstring = [Nsstring stringWithFormat:@"%02x%02x%02x%02x%02x%02x",*(ptr+5)]; free(buf); NSLog(@"-------mac %@",outstring); return [outstring uppercaseString];}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的iOS 获取手机IP地址 Mac地址全部内容,希望文章能够帮你解决iOS 获取手机IP地址 Mac地址所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)