2

1つのBluetoothデバイスがあります。Bluetoothデバイスには1つのパブリックBluetoothデバイスアドレス(BDA)があります。Androidでは、Bluetoothのように取得(30:03:5B:00:15:12)できます。このようにデバイス名とデバイスUUIDのみを取得できます

-(void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { 
NSLog(@"Discovered peripheral %@ (%@) (%@)",peripheral.name,peripheral.identifier.UUIDString); //PHARMACELL CAREOUSEL (0BEF07EA-7680-4223-2D5E-6CE159333F7E)

}

BDA値を取得する方法を教えてください

4

3 に答える 3

1

簡単な答えは明確です: いいえ。特定の UUID を生成したシードから BDA を取得することは (実際には) 不可能です。実際、UUID を生成したアルゴリズムがデバイスの MAC アドレスを使用してそれを生成したとすると、UUID ジェネレーター コードにアクセスできないか、またはアルゴリズム。

Apple は UUID の生成中にデバイスの MAC アドレス、タイムスタンプ、ハッシュ、UDID (iOS デバイス) などの他のコンポーネントを使用する可能性があるため、UDID からも取得することは不可能に見えます。

于 2015-10-12T10:30:15.940 に答える
0

iOS では、デバイスの MAC アドレスを取得することはできません。MAC アドレスはクラスによって抽象化され、CBPeripheralOS 内でidentifierプロパティによって内部的に識別されます。実際に最も一般的な MAC アドレスを取得する 1 つの方法は、スキャン応答に MAC アドレスを含めることです。この機能については、BLE デバイスの製造元に問い合わせることができます。また、GATT 特性の 1 つから MAC アドレスを読み取ることもできます。詳細については、BLE の製造元にお問い合わせください。

于 2015-10-13T09:45:54.133 に答える
0

Android 6 には、デバイスの WIFI と BT の MAC アドレスを読み取る機能が削除されてい02:00:00:00:00:00ます。これは「ユーザーデータを保護するため」、より正確には「プライバシー」です。あまりにも多くの大きなショッピング モールが、ユーザーの行動情報を取得するためにこれらのアドレスの収集を悪用しています。

于 2015-10-12T12:52:43.553 に答える