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
も使いやすくて、めっちゃ便利です!