問題タブ [clbeaconregion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - didEnterRegion と didRangeBeacons の違い
ユースケースに関して、didEnterRegion と didRangeBeacons の正確な違いは何ですか?
各デリゲート メソッドの正確な機能は何ですか? アップルのドキュメントからは、あまり明確ではありません。
と
ios - 3 ~ 4 日間正常に動作した後、ビーコンを測距しようとするとアプリがクラッシュする
私はこのビーコン アプリを持っています - 他のみんなのビーコン アプリと同じように - 特定の数の地域を監視し、地域に入ると 3 秒間測距を開始し、測距を停止して監視を続けます。これはすべてバックグラウンドで行われます。最も近いビーコンのデータをローカル データベースに保存し、サーバーにもデータを送信します。
奇妙なことに、これは約 3 ~ 4 日間正常に機能し、その後突然機能しなくなります。アプリをもう一度開いて何が起こったのかを確認すると、アプリがクラッシュするようです。
クラッシュのタイプは SIGABRT です。
これを経験した人はいますか?
最も関連性の高いコードは次のとおりです。
ユーザーが「開始」ボタンを押すと、startLocationManager() が呼び出されます。
これが象徴的なクラッシュログです。アプリ名は「タイムクラウド」。
ios - CLBeaconRegion、警告をオフにする方法: Bluetooth をオンにして * アクセサリへの接続を許可する
アプリのバックグラウンドで出入りする iBeacon 領域を監視するために CoreLocation 領域を使用しているプロジェクトがあります。CLBeaconRegion (CLRegion)、CLBeacon など。CLLocationManager は、CLBeacon (iBeacon) 領域に入るとコールバックを返します。これは、下にある bluetoothManager の軽いラッパーです。
私たちが抱えている問題は、ユーザーが Bluetooth をオンにしていない場合、Iphone が定期的にシステム レベルの警告を発行し、「Bluetooth をオンにして "APP_NAME" がアクセサリに接続できるようにする」ことです。これは頻繁に発生します。アプリがバックグラウンドで実行されているため、今朝すでに 4 回発生しています。CLLocationManager はこれらの CLBeaconRegion を監視しようとしている可能性がありますが、Bluetooth がオフになっているため、これを実行できません。
別の投稿では、CBCentralManager には、この警告を無効にできるプロパティ CBCentralManagerOptionShowPowerAlertKey があると述べています。
iOS CoreBluetooth は、ユーザーに Bluetooth をオンにするように求めることなく、Bluetooth が有効になっているかどうかを受動的にチェックします。
残念ながら、基になる bluetooth にアクセスする方法や、これを使用するための CBCentralManager 参照は見つかりませんでした。
CLBeaconRegion 監視のこの警告を無効にする方法はありますか?
ios - 現在の場所に応じて監視対象から CLBeaconRegion を削除する
そのため、現在の場所からの距離に応じて、監視対象の地域から BeaconRegion を削除する方法を探していました。センターのプロパティを使用できますが、何かが足りないと思います...緯度/経度の値が有効ではないため...
con currentLocation に応じて BeaconRegion を削除するにはどうすればよいですか?
ios - ビーコン マネージャーの didenter didexit リージョン メソッドが繰り返し呼び出される
私は 3 つの地域を監視しています。しかし、アプリがリージョン内にある場合でも、リージョンに入るメソッドと didexitregion メソッドが繰り返しトリガーされます。アプリが 3 つのリージョンのいずれかに出入りするときにのみ通知が必要です。アプリを繰り返しテストしているため、これが発生していますか
これが私のコードです:
ios - DidEnterRegion は、requestAlwaysAuthorization が呼び出された場合にのみ呼び出されます。ビーコン
didEnterRegion
CoreLocation の Always Authorization を要求して許可した後にdidExitRegion
のみ呼び出されます
WhenInUseAuthorizationをリクエストしても、didExitとdidEnterは呼び出されません
これを呼び出せない場合、ビーコンのレンジングをトリガーするにはどうすればよいですか?
解決策はありますか?
アップデート
Apple は、requestAlwaysAuthorization() を呼び出すためのアプリを拒否しました
今朝審査チームに提出した私の質問は次のとおりです。
ビーコン リージョン (一部の Apple アプリを含む多くのアプリで使用されるビーコンの非常に重要な機能) を監視するには、アプリを使用していないときでもアプリが位置情報にアクセスできるようにする必要があります。.requestAlwaysAuthorization を使用して、ビーコンがバックグラウンドで監視できるようにしています。なぜこれが許可されないのですか?
今日の午後、iTunes Connect での Apple の反応:
ご意見ありがとうございます。ただし、iBeacon 機能にはバックグラウンドの場所は必要ありません。したがって、再送信する前にバックグラウンドの位置情報機能を削除する必要があります。
したがって、ビーコンがバックグラウンドで領域を自動的に監視することになっているが、バックグラウンド監視の許可を求めることができず、許可を得ない限りビーコンがバックグラウンドで監視しない場合、バックグラウンドで領域を監視するにはどうすればよいでしょうか??