iBeacon显示蓝牙didEnterRegion和didExitRegion方法从未被触发(iBe

2019-10-20 11:10发布

这是非常奇怪的是, didEnterRegiondidExitRegion后从未被触发startMonitoringForRegion被调用。 此外, didDetermineState可以触发作为期望。

在目前阶段,我只评价基础上,iBeacon显示技术苹果的示例代码演示,Airlocated 。

所以,我只能实现两个方法,包括didEnterRegiondidExitRegion在文件APLAppDelegate.m波纹管:

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
    NSLog(@"Entered region: %@", region);
    [self sendLocalNotificationForBeaconRegion:(CLBeaconRegion *)region];
}

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
    NSLog(@"Exited region: %@", region);
}

娄步骤已经尝试过,但没有效果。

  • 重置与iOS7.1的iPhone5 /的iPhone4s
  • 配置后台模式和*的.plist波纹管:
  1. 在项目信息或info.plist中 - >自定义IOS目标属性 - >。 加上“所需的背景模式”。 在此添加两个项目 - >“使用CoreBluetooth应用程序共享数据”,“应用程序注册了位置更新”。
  2. 在项目的能力 - >有背景模式
    。 勾选“Loaction更新”
    。 检查“作为一个蓝牙LE配件”。 勾选“使用蓝牙LE配件”
  • 授权访问设备位置的应用程序。

所以,任何人都可以给我一些关于它的建议吗?

提前致谢。

Answer 1:

添加startRangingBeaconsInRegion方法之后startMonitoringForRegion ,然后再试一次

[_locationManager startRangingBeaconsInRegion:demoRegion]; // demoRegion - 你已经创建区域



文章来源: iBeacon Bluetooth didEnterRegion and didExitRegion methods are never fired