4

アプリのバックグラウンドで出入りする iBeacon 領域を監視するために CoreLocation 領域を使用しているプロジェクトがあります。CLBeaconRegion (CLRegion)、CLBeacon など。CLLocationManager は、CLBeacon (iBeacon) 領域に入るとコールバックを返します。これは、下にある bluetoothManager の軽いラッパーです。

// various CLLocation delegate callback examples
- (void) locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region;
- (void) locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region;

私たちが抱えている問題は、ユーザーが Bluetooth をオンにしていない場合、Iphone が定期的にシステム レベルの警告を発行し、「Bluetooth をオンにして "APP_NAME" がアクセサリに接続できるようにする」ことです。これは頻繁に発生します。アプリがバックグラウンドで実行されているため、今朝すでに 4 回発生しています。CLLocationManager はこれらの CLBeaconRegion を監視しようとしている可能性がありますが、Bluetooth がオフになっているため、これを実行できません。

別の投稿では、CBCentralManager には、この警告を無効にできるプロパティ CBCentralManagerOptionShowPowerAlertKey があると述べています。

iOS CoreBluetooth は、ユーザーに Bluetooth をオンにするように求めることなく、Bluetooth が有効になっているかどうかを受動的にチェックします。

残念ながら、基になる bluetooth にアクセスする方法や、これを使用するための CBCentralManager 参照は見つかりませんでした。

CLBeaconRegion 監視のこの警告を無効にする方法はありますか?

ここに画像の説明を入力

4

1 に答える 1