首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apples“外部附件框架”获取蓝牙设备的MAC地址

问使用Apples“外部附件框架”获取蓝牙设备的MAC地址
EN

Stack Overflow用户
提问于 2012-02-24 04:47:50
回答 3查看 3K关注 0票数 4

我有一个与Apple兼容的蓝牙设备。

现在,我正在尝试在应用程序中获取该设备的MAC地址。有没有可能在苹果“外部附件框架”的帮助下获得蓝牙设备的MAC地址?

我听说用正常的方式获取MAC地址是不可能的,但我对“外部附件框架”的理解不够好,无法决定这个框架是否可行。

EN

回答 3

Stack Overflow用户

发布于 2015-07-03 10:35:39

不,你不能得到EAAccessory的mac地址。我的意思是,你可以使用下面的命令:

代码语言:javascript
复制
NSString *macAddress = [accessory valueForKey:@"macAddress"];

但正如您在EAAccessory documents上看到的那样,它没有文档记录。苹果可以拒绝你的应用,或者这个功能可能会在下一次iOS更新时停止工作,等等。

如果您只是尝试在特定型号的设备上执行自定义操作,在大多数情况下,您可以使用以下可用信息之一:

代码语言:javascript
复制
<EAAccessory: 0x17445c180> {
  connected:YES
  connectionID:29354791
  name: 23HG YKL CXN
  manufacturer: MANUFACTURER NAME
  modelNumber: 878253-222
  serialNumber: //not always available
  firmwareRevision: 1.0.0
  hardwareRevision: 1.0.0
  protocols: (
    "com.some.protocol",
    "com.some.other.protocol"
  )
}

或者混合使用(modelNumber + firmwareRevision)等。

PS:我知道有了上面的信息,你不知道两个相同的设备之间的区别,但取决于你正在开发的应用程序类型,无论如何这都无关紧要。

希望能有所帮助。

票数 5
EN

Stack Overflow用户

发布于 2013-03-02 00:47:31

试试这个:

代码语言:javascript
复制
NSString *macAddress = [accessory valueForKey: @"macAddress"];

但我注意到这只适用于最新的设备。(对于键‘macAddress’,iPad 1的附件不符合键值编码)

在整个附件字典中查找更多关键字:

代码语言:javascript
复制
NSLog(@"%@", accessory);
票数 1
EN

Stack Overflow用户

发布于 2012-03-14 00:37:19

简短的回答是不,你不能这么做。

原因是因为外部附件框架所做的全部工作就是使用设备设置输入和输出数据流。如果您要从硬件获取MAC地址,硬件必须通过它们为其设备和与之相关的iOS软件创建的任何通信机制提供该信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9421026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档