iOS 获取手机IP地址 Mac地址

iOS 获取手机IP地址 Mac地址,第1张

概述iOS 获取手机IP地址 Mac地址

下面是内存溢出 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地址所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存