ios – locationManager:当检测到信标时,didEnterRegion未被调用

ios – locationManager:当检测到信标时,didEnterRegion未被调用,第1张

概述在使用信标(iOS设备)测试时,我发现听众信标发出了一些意想不到的行为. locationManager:didEnterRegion方法即使信标进入区域也不会被调用.但是locationManager:didRangeBeacons:inRegion:被正确调用,并且在那里显示检测到的信标.有没有人经历过这样的事情. 检查您的方法是否以下列方式实现. 在viewDidLoad中,最后启动单轨 s 在使用信标(iOS设备)测试时,我发现听众信标发出了一些意想不到的行为. locationManager:dIDEnterRegion方法即使信标进入区域也不会被调用.但是locationManager:dIDRangeBeacons:inRegion:被正确调用,并且在那里显示检测到的信标.有没有人经历过这样的事情.解决方法 检查您的方法是否以下列方式实现.
在vIEwDIDLoad中,最后启动单轨
self.beaconRegion.notifyOnEntry=YES;self.beaconRegion.notifyOnExit=YES;self.beaconRegion.notifyEntryStateOndisplay=YES;[self.locationManager startMonitoringForRegion:self.beaconRegion];

监控开始后,请为您定义的区域请求状态

- (voID) locationManager:(CLLocationManager *)manager dIDStartMonitoringForRegion:(CLRegion *)region{    [self.locationManager requestStateForRegion:self.beaconRegion];}

状态确定后,开始测距信标

-(voID)locationManager:(CLLocationManager *)manager dIDDetermineState:(CLRegionState)state forRegion:(CLRegion *)region{    if (state == CLRegionStateInsIDe)    {        //Start Ranging        [manager startRangingBeaconsInRegion:self.beaconRegion];    }    else    {        //Stop Ranging here    }}

并根据您的需要实施以下方法…

- (voID)locationManager:(CLLocationManager *)manager dIDEnterRegion:(CLRegion *)region{    self.statusLbl.text=@"Entered region";}-(voID)locationManager:(CLLocationManager *)manager dIDExitRegion:(CLRegion *)region{    self.statusLbl.text=@"Exited region";}-(voID)locationManager:(CLLocationManager *)manager dIDRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{    if(beacons.count>0)    {}}

希望这将解决你的问题.

总结

以上是内存溢出为你收集整理的ios – locationManager:当检测到信标时,didEnterRegion未被调用全部内容,希望文章能够帮你解决ios – locationManager:当检测到信标时,didEnterRegion未被调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1112356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存