ios Mac 地址获取

iOS之获取蓝牙Mac地址 在做iOS蓝牙开发的时候肯定会遇到这种问题,苹果自带的CoreBluetooth SDK中不能获取到蓝牙的Mac地址,只能得到UUID,但是UUID并不是唯一的,换一个设备再连接UUID就不一样了。而且Android手机是可以获取到Mac地址的,不能很好的兼容Android手机,Android是不可能获取到UUID,为了很好的兼容,只能iOS想办法获取Mac地址了。幸运的是iOS也不是没有办法获取... 阅读详情

转自:http://www.cnblogs.com/qingjoin/p/3227550.html

未测试

//mac address
#include <sys/socket.h> // Per msqr
#include <sys/sysctl.h>
#include <net/if.h>
#include <net/if_dl.h>




//mac address
// Return the local MAC addy
// Courtesy of FreeBSD hackers email list
// Accidentally munged during previous update. Fixed thanks to erica sadun & mlamb.
- (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");
        free(buf);
        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;
}


iOS如果获取蓝牙Mac地址 在做iOS蓝牙开发的时候肯定会遇到这种问题,苹果自带的CoreBluetooth SDK中不能获取到蓝牙的Mac地址,只能得到UUID,但是UUID并不是唯一的,换一个设备再连接UUID就不一样了。而且Android手机是可以获取到Mac地址的,不能很好的兼容Android手机,Android是不可能获取到UUID,为了很好的兼容,只能iOS想办法获取Mac地址了。幸运的是iOS也不是没有办法获取到 阅读详情

相关推荐

【iOS获取设备mac地址踩坑记录】

最近有发现公司很多设备采集的mac地址都有空或则000000002,000000000等这种地址,明显不是正常的mac地址,特意去调研了一下相关原因, 目前获取设备mac地址的相关方案有两种,一种C语言类型,一种OC语言类型。

淋淋颖的博客 2136

iOS 获取连接的WiFi和Mac地址

最近做了一个WiFi的硬件APP,需要用到当前手机链接的WiFi名字和Mac地址,这种场景使用,其实,在打卡软件中,应该比较常用,比如打卡需要连接到公司的WiFi,就是保证你在办公室打的卡。 刚开始使用的时候,以为就像别人说的需要,想苹果申请访问权限,实际上如果只是想获取当前访问的WiFi名称和Mac地址,是不用申请的。 使用 需要添加系统库SystemConfiguration.framework,并且,在需要使用的文件中引用#import <SystemConfiguration/Captiv

u013712343的博客 2691

esp32使iOS 获取蓝牙外设的Mac地址

最近在做一个需要上下位机的项目,我负责的任务下位机,使用的主控芯片是esp32。这个项目中有一项是需要手机扫描二维码然后连接作为esp32的蓝牙。二维码中包含了mac地址信息,在手机扫描周围设备的时候通过mac地址筛选出目标设备,然后建立连接。在安卓系统上进展顺利,但是在ios上的时候,这个过程遇到的问题,ios中无法直接获取蓝牙的mac地址。写上位机的负责人发给了我一个链接https:...

bantuodian6606的博客 2451

计算机mac网关,如何在Mac OS X中获取默认网关地址 | MOS86

如果您发现自己需要知道Mac的默认网关地址,可以从OS X以几种方式发现这些信息。对于那些不熟悉的人,网关地址是计算机正在使用互联网的任何调制解调器,路由器或交换机的IP,因此是其到外部世界的门户。在Mac OS X上显示两种方式显示网关地址信息。第一个技巧是使用命令行显示默认网关IP地址,第二种方法将在主机网络的系统偏好面板中显示Mac OS X中连接的网关IP地址。由于语法原因,命令行方法是首...

weixin_31688167的博客 4329

蓝牙获取mac地址

蓝牙获取mac地址

基于STM32与FPGA Cyclone IV的FSMC高速数据通信实战解析

本文详细解析了基于STM32的FSMC接口与FPGA Cyclone IV实现高速并行数据通信的实战方案。通过将FPGA模拟为SRAM设备,构建了MCU与FPGA之间的高速数据通道,并深入探讨了硬件连接、STM32软件配置、FPGA逻辑设计及性能优化等关键步骤,为图像处理、高速采集等需要大数据量交换的嵌入式应用提供了稳定高效的通信解决方案。

swift5iosmith的博客 294

Kaggle | 总奖池超200万美金的数学竞赛AIMO2冠军方案

••••结论1:通过结合高质量大规模数据集、工具集成推理和生成式选择方法,可以构建在挑战性数学问题上达到最先进水平的语言模型。本文的方法在 AIMO-2 竞赛中的胜利以及在多个数学基准上的 SOTA 结果验证了这一策略的有效性。结论2:发布 OpenMathReasoning 数据集、OpenMath-Nemotron 模型和代码是社区的宝贵财富。

hxshine的博客 1194

获得MAC地址的四个方法

  1.使用WMI。查询表Win32_NetworkAdapterConfiguration即可获得。 2.使用ARP协议。请看这里。 3.使用Windows命令nbtstat,也就是通过NetBIOS。请看这里。 4.查询SNMP(就是一种用于监视网络设备的协议)的MIB(管理信息数据库)。但这不是一件简单的事情,需要自己创建SNMP包,发送到交换机,然后对返回的响应进行解析。 ...

weixin_33774883的博客 355

STM32驱动SPL06-001气压传感器:I2C通信与温度补偿实战

气压传感器在无人机定高、室内定位和气象监测中至关重要。SPL06-001凭借±0.06 hPa相对精度和I2C接口,成为STM32项目的理想选择。通过I2C总线读取原始数据,并利用出厂校准系数进行温度补偿和气压解算,可输出高精度气压值。本文详细解析SPL06-001的寄存器操作、校准系数拼接及补偿算法,并分享I2C上拉电阻、地址配置等避坑经验,帮助开发者快速实现气压测量与高度解算。

weixin_29188043的博客 336

手把手教你用nRF52832+RFX2401C设计远距离蓝牙模块(附完整原理图/PCB文件)

本文详细介绍了如何利用nRF52832 SoC与RFX2401C射频前端芯片设计远距离蓝牙模块,涵盖芯片选型、阻抗匹配、PCB布局等关键环节。通过实战指南和完整原理图/PCB文件,帮助工程师实现输出功率可达20dBm的蓝牙模块设计,适用于智能家居、运动追踪等物联网应用。

weixin_29214199的博客 287

09 数据链路层

文章目录数据链路层以太网协议以太网协议格式对比理解MAC地址和IP地址认识MTUARP协议的作用ARP工作方式ARP格式ARP协议工作流程其他重要的协议或技术DNS协议DNS的产生域名域名服务器 数据链路层 网络层的IP协议只负责数据的源端、和数据的目的端,即只负责数据从哪里来,到哪里去。不负责数据的有序或者无序到达对方(数据的安全、可靠性是由TCP提供的)。 数据链路层: 数据链路,指OSI参考模型中的数据链路层,有时也指以太网、无线局域网等通信手段。 数据链路层的协议定义了通过通信媒介互连的设备之间传

精致的灰的博客 1684

新手也能写复杂爬虫!AI+Python自动分析京东商品,提取数据不用F12

不用F12:AI自动分析京东页面,生成选择器;不用懂JS:Playwright自动渲染动态数据;不用改代码:只需配置3个参数,复制运行就能出结果。这套方案不仅适用于京东,修改提示词后还能爬取淘宝、拼多多、亚马逊等电商网站,新手只需掌握“配置参数→运行代码→查看CSV”3步,就能轻松获取任意网站的结构化数据。未来,AI会让爬虫彻底进入“零代码、零门槛”时代,新手也能轻松搞定复杂数据爬取需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1340

ios获取mac地址

首先说明下,下面两种方法均可以获得手机的mac地址,但是有个限制,是在iOS一下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:00:00。官方文档上这样写的“Twolow-level networking APIs that used to return a MAC address now return thefixed v

jijunyuan_11109的专栏 2046

修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)

【代码】修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)

路~可以走过 2772

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

宁波阿成的博客 899

最新iOS获取当前设备的IP地址 和|Mac地址

获取当前设备的IP地址和MAC地址: 1.导入相关库文件。 #include <ifaddrs.h> #include <arpa/inet.h> #import <CommonCrypto/CommonDigest.h>

Eric 的专栏 4640

Exploring Automated Distractor Generation for Math Multiple-choice Questions via Large Language Mode

多项选择题(MCQ)在几乎所有级别的教育中都无处不在,因为它们易于管理、评分,并且是评估和实践中可靠的格式。MCQ最重要的方面之一是干扰因素,即旨在针对真实学生常见错误或误解的不正确选项。迄今为止,对于教师和学习内容设计师来说,制作高质量的干扰物的任务在很大程度上仍然是一个劳动和时间密集型的过程,其可扩展性有限。在这项工作中,我们研究了数学MCQ领域的自动干扰物生成任务,并探索了从上下文学习到微调的各种基于大型语言模型(LLM)的方法。

c_cpp_csharp的专栏 317

ios获取设备IP地址Mac地址

ios获取设备其它信息这里就不说了,网上一大堆,也都很简单,一般信息获取都有提供方法,今天楼主主要介绍下ipAddress 和 macAddress的获取方法(WIFI和蜂窝网络状态下). 二话不说直接代码: 首先,咱们要在libraries里加入libresolv.9.tbd 然后,然后就往下看↓.... 系统头文件的引入和宏定义 #import <ifaddrs.h> #import <resolv.h> #import <arpa/inet.h> #i

u013712343的博客 2714

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

iOS开发 获取设备IP地址Mac地址

ios获取设备其它信息这里就不说了,网上一大堆,也都很简单,一般信息获取都有提供方法,今天楼主主要介绍下ipAddress 和 macAddress的获取方法(WIFI和蜂窝网络状态下). 二话不说直接代码: 首先,咱们要在libraries里加入libresolv.9.tbd 然后,然后就往下看↓.... 系统头文件的引入和宏定义 #import <ifaddrs.h> #import <resolv.h> #import <arpa/inet.h> #imp

奋斗吧灬青年的博客 5403

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

获取ios手机的mac地址的函数

最近开发的ios项目,由于需要向服务器发送,本应用的活跃手机量。通过获取手机的唯一标示符UUID或者MAC地址。由于IOS5以后,不支持获取uuid,因此获取MAC地址。下面的代码复用率极高,可以作为很重要的参考。 #pragma mark MAC // Return the local MAC addy // Courtesy of FreeBSD hackers email li

z343929897的专栏 3781

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

iOS获取手机的Mac地址

首先说明下,下面两种方法均可以获得手机的mac地址,但是有个限制,是在iOS一下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:00:00。官方文档上这样写的“Twolow-level networking APIs that used to return a MAC address now return thefixed v

有梦想的蜗牛 4万+

onBluetoothDeviceFound ios怎么获取设备的mac地址

mac地址相关学习资料:https://edu.51cto.com/video/3338.htmlonBluetoothDeviceFound iOS 获取设备的 MAC 地址 在iOS开发中,蓝牙技术被广泛应用于各种场景,如设备配对、数据传输等。在进行蓝牙设备搜索时,我们经常需要获取到设备的MAC地址,以便进行后续的操...

weixin_40922639的博客 448

iOS:Mac地址获取

参考: 获取Wi-Fi Mac地址 获取Mac地址:返回的是020000000000 引入头文件 #include <ifaddrs.h> #include <sys/socket.h> // Per msqr #import <sys/ioctl.h> #include <net/if.h> #import <arpa/inet.h> #import <sys/utsname.h> #import <AdSupport/AdSu

qiluoyiyi的专栏 4288

获取IOS设备的系统版本,硬件名称,mac地址

获取IOS设备的系统版本,硬件名称,mac地址 今天介绍的是如何获取ios设备的系统版本,硬件设备名称,和mac地址,我们做的游戏打算用mac地址来作为快速登录的账号,所以需要获取设备的mac地址,苹果设备的uuid现在苹果不让用了,所以用mac地址是一个比较好的选择,这里我们获取系统版本和设备名称则是为了统计使用,这里就不多做介绍了。 我现在做的项目是cocos2d-x的项目,所以这里就涉及

江南岸 4695
上一篇: iOS7或以后将不能使用MAC地址生成设备的唯一标识
下一篇: 如何使用KeyChain保存和获取UDID。iOS7获取唯一标示符的方法
骑行的蜗牛
博客等级 码龄21年 107粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值