周辺のiBeaconを探索したいと思った件

既知のUUIDを持っているiBeaconではなく周辺にあるiBeacon機器を全て取得したかったんだけど、appleの仕様上、できないようだった。

<参考>
http://stackoverflow.com/questions/27288211/how-to-get-the-detail-for-beacon-detected-by-cbcentralmanager
http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html

  • 要約すると、Beaconの検索には[CLLocationManager startMonitoringForRegion]を使い、[CBCentralManager didDiscoverPeripheral]は使えない(後者ではBeaconを使う上での有用な情報はとれない)。
  • [CLLocationManager startMonitoringForRegion]を使うためには、ビーコンのUUIDを1つ渡さないとエラーを返すよ。

つまり、未知のBeaconを探索して情報を取得することはできないとのことです。

実際、いろいろ試してみたけど難しそうです。

フレームワークの中ではきっと周辺のビーコンの情報はすべて取得できてるんでしょうけど、フレームワークの外まではそれを見せない仕様。

UUIDとMajor/Minorの組み合わせが分かると悪用できるから、その対策なんでしょうね。
(´・ω・`)

ビーコンのデバイスを独自のUUIDに変更した記事はコチラ。
http://mashpote.net/2016/03/29/post-314/

でわでわ。

コメントを残す

メールアドレスが公開されることはありません。