2016-08-17 15 views
2

iDeaconeとEddystoneを検出するIOSアプリケーションを開発しようとしています。 CorelocationとCorebluetoothの両方を実装に使用しました。私はバックグラウンドでビーコンを検出したいので、バックグラウンドモードも設定したい。私は、バックグラウンドで数分後にスキャンの頻度が大幅に低下することを観察しています(5分に1回)。 IOSアプリケーションのバックグラウンドスキャン頻度を設定する方法はありますか?私が開発しているアプリケーションのユースケースでは5分が長いようです。また、別のビーコンが範囲内にある場合、アプリを起動する方法はありますか?Eddystone/iBeacon IOSバックグラウンドスキャンレート

答えて

3

CoreBluetoothをバックグラウンドで使用してiOS上のBLEデバイスをスキャンすると、あなたの提案どおりに比較的遅くなる可能性があります。 5分の検出時間は珍しいことではありません。それだけでは、CoreBluetoothはあなたにこの周波数を上げる能力を与えません。しかしCoreLocationは、検出速度をはるかに最適化していますが、iBeaconフォーマットに限定されています。あなたが行うことができます

ことの一つは、(他の目的のために)Eddystoneフレームを送信ビーコンと(スピードのため)iBeaconフレームを送信ビーコンを組み合わせるです。 iBeaconのバックグラウンドイベントを監視するときにビーコンのレンジングを開始すると、Eddystoneの検出時間も短縮されます。このトリックでCoreLocationの範囲でCoreBluetoothのスキャンを開始できます。実際には同じです。

+0

私の主な目的は、新しいEddystoneアドレスをできるだけ早くバックグラウンドで検出することです。だから、ある部屋から別の部屋に行くと、新しいアドレスが検出されるまで5分間待つ必要はありません。ある発光デバイスからiBeaconとEddystoneの両方を放出させ、CoreLocationを使って変化を検出させると、同時にEddystoneをスキャンすることができますか?これまでに試したことがある場合、アプリは時間の点でEddystoneのアドレスの変化をどれだけ迅速に検出できますか?ありがとうございます –

+0

私はそれがどれほど速いかを測定していませんが、CoreBluetoothでのフォアグラウンドスキャンに似ていると思われます。 – davidgyoung

+0

@davidgyoung、iBeaconとEddystoneをどのように組み合わせて、アプリケーションがバックグラウンドモードであるときeddystoneからURLを得ることができるか教えてください。 –