5

私は、iOS デバイスの iBeacons と CoreBluetooth についてかなりの調査を行ってきました。あなたの投稿と調査は素晴らしいものでした。私はかなりのことを学びました。残念ながら、私が実際にやりたいことに関係しているため、行き止まりに陥っています。

私はこの投稿を読んでいました: http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html ....

...そして、proximityUUID なしでは CoreBluetooth で実際に多くのことを行うことができないことを指摘しています。そうは言っても、実際にそれを持っている場合はどうなりますか?

私がやりたいのは、特定の場所に iBeacons を配置することです。didEnterRegionCLLocationManager デリゲート メソッドを使用して、領域に入ったタイミングを確認します。これを使用して、ビーコンの CoreBluetooth モニタリングをトリガーし、バックグラウンドで実行できるようにしたいと考えています。フォアグラウンドでは取得できましたが、バックグラウンドでは取得できなかった RSSI と一意の識別子 (今のところ、メジャーとマイナーなしで実行できます) だけが必要です。

アプリに「bluetooth-central」(現在は「App Communicates using CoreBluetooth」)が設定されていれば、この基本データをバックグラウンドで取得できるはずだという印象を受けました。

私がやろうとしていることについて何か光を当てることができますか? 現時点では、他の誰もこれを試していないようです。この障壁を乗り越えることができれば、実行可能な回避策のように思えるので、ぜひ実行して共有したいと思います.

考え?

4

2 に答える 2

4

ブログ投稿で述べたように、iOS はこれらの識別子をカプセル化する生の広告データへのアクセスを提供しないため、CoreBluetooth API から iBeacon 識別子を取得することはできません。

関連付けを行うことができる場合があります。BluetoothLE デバイスが 1 つしか表示されておらず、CoreLocation API を使用して iBeacon が表示されている場合は、CoreBluetooth を使用してビーコンを引き続き追跡し、提案どおりに RSSI を読み取ることができます。

複数の BluetoothLE デバイスが表示されると、問題が発生します。CoreBluetooth の iBeacon 識別子にアクセスできない場合、CoreBluetooth で表示されているデバイスと、CoreLocation で表示されている iBeacon のどれが一致するかをどのように知ることができますか? 残念ながら、それらを一致させる方法はないと思います。

于 2013-12-05T05:02:44.197 に答える