使用Apples"External Accessory framework"获取蓝牙设备的MAC地址

use*_*432 4 iphone external-accessory ios

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

现在,我正在尝试在应用程序中获取该设备的MAC地址.是否可以借助Apples"外部附件框架"获取蓝牙设备的MAC地址?

我听说不可能以正常方式获取MAC地址,但我不明白"外部附件框架"是否足以决定是否可以使用此框架.

For*_*nja 5

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

NSString *macAddress = [accessory valueForKey:@"macAddress"];
Run Code Online (Sandbox Code Playgroud)

但是,您没有记录,因为您可以在EAAccessory文档中看到.Apple可以拒绝您的应用,或者此功能可能会停止处理下一个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"
  )
}
Run Code Online (Sandbox Code Playgroud)

或者它的混合,如(modelNumber + firmwareRevision)等.

PS:我知道上面的信息,您不知道两个相同设备之间的区别,但根据您正在开发的应用程序类型,无论如何都无关紧要.

希望能帮助到你.