1

実際、私は BLE が初めてで、Android では、利用可能なデバイスを検索している場合、「8A:WS:YV:23:D7」のようなアドレスを取得しました。 IOS で同じデバイスを使用すると、このように「212C543B-9728-197D-B4F4-F4F74CABC963」のような UUID が与えられ、両方がモバイル アプリを BLE デバイスに接続するために使用されるため、私の問題は、両方の側で使用される予定のデータベースで、DB をサーバーに保存したいのですが、Android 経由でアップロードすると、アドレスと共に保存されます。IOS のサーバーから同じプロファイルを開くと、 UUIDの代わりにアドレスを取得したため、デバイスはまったく接続できません。iOSアプリをAndroidのBLEデバイスに接続するために必要なBLEデバイスのUUIDを取得する方法を知りたいのですが、その逆も同様です。

4

1 に答える 1

1

残念ながら、iOS では MAC アドレスを取得できず、Android では UUID を取得できません。Apple は MAC アドレスを非表示にし、回避策が見つかった場合 (存在する場合)、アプリは承認を通過しません。iOS で使用される UUID は、ble アドバタイズメントに基づいて生成されます。すべての iOS デバイスは、同じ周辺機器に対して異なる UUID を生成します。ところで、新しい Android デバイスは MAC アドレスをランダム化するため、とにかく MAC アドレスを識別子として使用することはできません。

アプリを実行しているデバイスを識別できるように、ble 広告で独自の識別子を提供することをお勧めします。たとえば、広告にサービス UUID を追加すると、アプリを識別する固定部分とデバイスを識別する可変部分の 2 つの部分ができます。残念ながら、Android デバイスが iOS デバイスのサービス UUID をバックグラウンドで取得することはできません。

これが役立つことを願っています。

于 2016-05-26T15:25:07.690 に答える