CoreLocation を使って iBeacon の Ranging を行う場合、iOS だと 1秒間隔で通知されます。
[参考] iBeacon(3) - リージョン監視とレンジング - Enamel Systems
そこで、1秒間隔だと通知間隔が短すぎるので、5秒間隔とか1分間隔とかに変えたい時にどうするかですが、CLLocationManager クラスに設定があればよかったのですが、特になさそうなので、RxSwift を使ってストリームのフィルタで対応する方法のメモです。
CLLocationManager の初期設定とかは参考サイトを見てください。
1 2 3 4 5 6 |
|
Rx の sample を使って、ストリームを interval 毎にサンプリングしてやるだけです。
Time-shifted sequences - Introduction to Rx
RxSwift も使いやすくて、めっちゃ便利です!
