はじめに
AltBeaconを仕様して作成したアプリでインストール後初回起動時にはしっかり動くがアプリを一回終了してから起動するとビーコンを検知しなくなった。
そのとき以下のようなエラーが出ていた。
Error while saving scan status to file: Cannot delete existing file.
調査
エラーメッセージ的にはスキャンステータスのファイルが削除できない?
なんかファイルを書いているのかとDevice File Explorerでアプリ内のファイルを見てみると
org.altbeacon.beacon.service.monitoring_status_state とか言うファイルが存在した。
試しに直接消して起動してみるとうまく動くようになった。
解決方法
毎回消すわけにもいかないのでなんかないかと思って試したところ
以下をfalseにすることで生成されなくなった。
1 | BeaconManager.isRegionStatePersistenceEnabled = false |
isRegionStatePersistenceEnabled()
リファレンス的には
Indicates whether region state preservation is enabled
リージョン状態の保存が有効かどうかを示します。とのこと。
以上です。