我有一个与苹果兼容的蓝牙设备。
现在,我正在尝试在应用程序中获取该设备的MAC地址。使用苹果的“外部配件框架”是否可以获取蓝牙设备的MAC地址?
我听说通常无法以正常方式获取MAC地址,但是我不够了解“外部配件框架”,无法确定是否可以使用此框架。
我有一个与苹果兼容的蓝牙设备。
现在,我正在尝试在应用程序中获取该设备的MAC地址。使用苹果的“外部配件框架”是否可以获取蓝牙设备的MAC地址?
我听说通常无法以正常方式获取MAC地址,但是我不够了解“外部配件框架”,无法确定是否可以使用此框架。
NSString *macAddress = [accessory valueForKey:@"macAddress"];
但是正如您在EAAccessory文件中所看到的,它并没有被记录下来。苹果可能会拒绝您的应用程序,或者这个功能可能会在下一个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"
)
}
试试这个:
NSString *macAddress = [accessory valueForKey: @"macAddress"];
NSLog(@"%@", accessory);
简短的回答是不行。
原因是因为外部附件框架所做的一切只是与设备建立输入和输出数据流。如果您想从硬件获取MAC地址,则硬件必须通过其为其设备创建的任何通信机制及其相关iOS软件提供该信息。