iOS/信标-打开蓝牙时如何启动didEnterRegion?
我已经使用ibeacons设置了一个应用程序,我注意到当我在区域内打开蓝牙时,iOS/信标-打开蓝牙时如何启动didEnterRegion?,ios,objective-c,ibeacon,Ios,Objective C,Ibeacon,我已经使用ibeacons设置了一个应用程序,我注意到当我在区域内打开蓝牙时,didEnterRegion从未被触发。但是,当我打开蓝牙进入该区域时,它工作正常 在前台时,我通过调用didStartMonitoringForRegion中的[self.locationManager requestStateForRegion:self.beaconRegion]来欺骗这种行为,并检查我是否在里面 然而,我不知道在幕后该做什么。我知道唯一可以触发的方法是didEnterRegion,这意味着在区域
didEnterRegion
从未被触发。但是,当我打开蓝牙进入该区域时,它工作正常
在前台时,我通过调用didStartMonitoringForRegion
中的[self.locationManager requestStateForRegion:self.beaconRegion]
来欺骗这种行为,并检查我是否在里面
然而,我不知道在幕后该做什么。我知道唯一可以触发的方法是didEnterRegion
,这意味着在区域内打开蓝牙时无法发送通知
有人做到了吗
谢谢通过在区域初始化中指定NotifyEntryStateondDisplay,您可以在启用BLE时强制获取notification didEnterRegion:
\u myBeaconRegion.notifyEntryStateondDisplay=YES
想到的一个想法是:将bluetooth central
后台模式添加到您的应用程序中,并实现CBCentralManager
和CBCentralManagerLegate
。无论何时启用或禁用蓝牙,这都会唤醒你的应用程序,你可以利用这段时间来requestStateForRegion
我已经包括了self.beaconRegion.notifyEntryStateOnDisplay=Yes
在我的AppDelegate中,所以不幸的是,我认为这并不能解决我的问题