我有一个与Apple兼容的蓝牙设备。
现在,我正在尝试在应用程序中获取该设备的MAC地址。有没有可能在苹果“外部附件框架”的帮助下获得蓝牙设备的MAC地址?
我听说用正常的方式获取MAC地址是不可能的,但我对“外部附件框架”的理解不够好,无法决定这个框架是否可行。
发布于 2015-07-03 10:35:39
不,你不能得到EAAccessory的mac地址。我的意思是,你可以使用下面的命令:
NSString *macAddress = [accessory valueForKey:@"macAddress"];但正如您在EAAccessory documents上看到的那样,它没有文档记录。苹果可以拒绝你的应用,或者这个功能可能会在下一次iOS更新时停止工作,等等。
如果您只是尝试在特定型号的设备上执行自定义操作,在大多数情况下,您可以使用以下可用信息之一:
<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:我知道有了上面的信息,你不知道两个相同的设备之间的区别,但取决于你正在开发的应用程序类型,无论如何这都无关紧要。
希望能有所帮助。
发布于 2013-03-02 00:47:31
试试这个:
NSString *macAddress = [accessory valueForKey: @"macAddress"];但我注意到这只适用于最新的设备。(对于键‘macAddress’,iPad 1的附件不符合键值编码)
在整个附件字典中查找更多关键字:
NSLog(@"%@", accessory);发布于 2012-03-14 00:37:19
简短的回答是不,你不能这么做。
原因是因为外部附件框架所做的全部工作就是使用设备设置输入和输出数据流。如果您要从硬件获取MAC地址,硬件必须通过它们为其设备和与之相关的iOS软件创建的任何通信机制提供该信息。
https://stackoverflow.com/questions/9421026
复制相似问题