簡體   English   中英

使用Apples“External Accessory framework”獲取藍牙設備的MAC地址

[英]Get the MAC address of a Bluetooth device with Apples “External Accessory framework”

我有一個Apple兼容的藍牙設備。

現在,我正在嘗試在應用程序中獲取該設備的MAC地址。 是否可以借助Apples“外部附件框架”獲取藍牙設備的MAC地址?

我聽說不可能以正常的方式獲取MAC地址,但我不明白“外部附件框架”是否足以決定是否可以使用此框架。

不,你無法獲得EAAccessory的mac地址。 我的意思是,您可以使用以下命令:

NSString *macAddress = [accessory valueForKey:@"macAddress"];

但是,您沒有記錄,因為您可以在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"
  )
}

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

PS:我知道上面的信息,您不知道兩個相同設備之間的區別,但根據您正在開發的應用程序類型,無論如何都無關緊要。

希望能幫助到你。

試試這個:

NSString *macAddress = [accessory valueForKey: @"macAddress"];

但我注意到這只能用於最新的設備。 (iPad 1的附件不是鍵值'macAddress'的鍵值編碼兼容)

查看整個附件詞典以獲取更多鍵:

NSLog(@"%@", accessory);

簡短的回答是不,你不能這樣做。

原因是外部附件框架所做的就是設置輸入和輸出數據流。 如果您想從硬件獲取MAC地址,硬件必須通過他們為其設備和相關iOS軟件創建的任何通信機制提供該信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM