2017-10-29 16 views
0

私はブルートゥースを介して教室に出席を確認するためのアプリを作成しています。これまでのところうまく動作し、私はMacBook、iPad、Apple TVでテストしています。 「エドゥアルドのiPad、Apple TV、エドゥアルドのMacbook」などの名前が付けられています。 問題は昨日私がモールで試したことです。私が持っているのは、「無名」のデバイスがたくさんあることです。それは教室でも問題になるでしょう。iOS向けBLEを使用してBluetoothを介して検出されたデバイスを特定する方法

私もIDを取得していますが、私はiOS版やAndroidデバイス上でそのIDを特定する方法がわからない、これは私がスキャンしたときに私が取得するオブジェクトの一種である:

{ 
    id: "2BD5D5A7-EF50-B4F4-D4FD-9A8413006D4B", 
    rssi: -24, 
    advertising: { 
    kCBAdvDataIsConnectable: true 
    }, 
    name: "Eduardo's iPad" 
} 

記譜してください私がここにいるIDは2BD5D5A7-EF50-B4F4-D4FD-9A8413006D4Bですが、私が設定/一般/約/ Bluetoothに私のiPadに行く場合、そこに示されたIDはF0:D1:A9:E3:F9:E9です。

だから、長いIDから短いIDをどうにか取得できますか?または、iOSやAndroidでロングIDを取得する方法はありますか?前もって感謝します。

+1

識別子をデバイスのMACにマップする方法はありません。識別子は、周辺機器を識別するためにCore Bluetoothによって作成された値ですが、識別子の導出方法は文書化されていません。私の経験では、同じiCloudアカウントを持つデバイスの名前を取得する傾向があります。これは、iOSがハンドオフなどのデバイスをペアにして動作させるためです。また、iOS(とAndroidの場合もある)がMACランダム化機能を備えているため、デバイスを追跡しようとする試みを無効にするという挑戦もあります。 – Paulw11

答えて

1

iOSでは、周辺機器(BLEデバイス)のMACアドレスを取得できないため、iOSは周辺機器のUUIDを生成します。

差分iOSデバイスは差分を割り当てます。 UUID。

iOSの周辺デバイスを識別する方法は他にありません。

周辺広告データにIDがあれば、BLEデバイスを識別できます。

関連する問題