iOS7以下设备获取mac地址
发布日期:2021-10-25 06:15:17 浏览次数:2 分类:技术文章

本文共 1482 字,大约阅读时间需要 4 分钟。

注意,是iOS7以下的设备,直接上源码,获取mac地址都是为了唯一标识一个设备的,但iOS7设备的mac地址为 020000000000

MacAddress.h

#include 
#include
#include
#include
NSString * macaddress();

MacAddress.m

#import "MacAddress.h"NSString *  macaddress(){    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, NULL, 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, 6, buf, &len, NULL, 0) < 0)    {        printf("Error: sysctl, 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)];        free(buf);        return [outstring uppercaseString];}

测试:

 

 

 

 

 

转载于:https://www.cnblogs.com/YouXianMing/p/3664607.html

转载地址:https://blog.csdn.net/weixin_30872671/article/details/99104306 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:演示使用sql_trace和10046事件对其他会话进行跟踪,并给出trace结果
下一篇:16 元类

发表评论

最新留言

很好
[***.229.124.182]2024年04月05日 06时50分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【意外走向】大疆机甲大师Python API之八:计时——为性能测试展开1000次循环 2019-04-26
RFC#2457——Rust 语言支持非 ASCII 码标识符在 GitHub 引发的激辩(一) 2019-04-26
RFC#2457——Rust 语言选择支持非 ASCII 码标识符在 GitHub 引发的激辩(二) 2019-04-26
”为什么有这么多人执着于中文编程?”回答两千赞留念及回应 2019-04-26
【家务】盘点小孩玩具零件缺失情况 2019-04-26
开发中文 API 的一些策略 2019-04-26
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一) 2019-04-26
中文命名标识符如何区分类型和变量 2019-04-26
编程术语成系统中文化的意义 2019-04-26
草蟒 Python 中文 API 与 IDE 支持尝鲜 2019-04-26
一种改进中文 API 可读性的方法:参数不限于在末尾 2019-04-26
中文编程开发工具的生存模式探讨 2019-04-26
写给木兰编程语言研发团队的公开信 2019-04-26
为什么要急着为「木兰」编程语言贴上“造假”的标签? 2019-04-26
编程语言国产化的关键一战——对肆意污名化“木兰”编程语言说“不” 2019-04-26
各大媒体对「木兰」编程语言的不当言论盘点 2019-04-26
戳破针对「木兰」编程语言的拙劣谣言 2019-04-26
为「木兰」编程语言添加对中文命名标识符的支持 2019-04-26
悬赏万元,重现「木兰」编程语言编译器 2019-04-26
跳出编程语言本身看中文编程语言设计 2019-04-26