![](/img/trans.png)
[英]Getting the name of a Bluetooth device with Apples “External Accessory framework”
[英]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.