2

私は CoreBluetooth を使用して、BlueGiga BLE113 モジュールを使用して開発した多数の同一の Bluetooth スケールに接続しています。私のアプリは、各スケールの CBPeripheral.Identifier.UUIDString のローカル コピーを、その物理スケールに関するいくつかの関連データと共に保持するので、それらを区別できます。例:「スケールA」と「スケールB」

私の問題は、デバイスの UUIDString が頻繁に変更されることです。デバイスに対して何日も開発できますが、ある日UUIDが異なります。体重計はリセットされておらず、アプリは再起動されておらず、Bluetooth は電話で循環していません。

各 bluetooth 周辺機器 (スケール) を確実に識別する方法が必要であり、生産中に各デバイスに識別子をハードコーディングする必要はありません。

長期的に周辺機器を識別するより良い方法はありますか?

4

1 に答える 1

3

残念ながら、iOS のペリフェラル UUID の変更を回避できるとは思いません。

スケールの BLE サービス/特性を変更する必要があるコントロールに応じて、カスタム識別子を配置する特性を含む追加のサービスをアドバタイズできます。

iOS では、そのサービスをスキャンし、特性値を読み取ってスケールを識別できます。これにより、OS が周辺機器に割り当てる UUID に依存しなくなります。

お役に立てれば!

于 2016-04-19T07:00:21.147 に答える