在调用didEnterRegion
后,didExitRegion
和startMonitoringForRegion
永远不会被解雇,这很奇怪。此外,didDetermineState
可以按预期触发。
在目前阶段,我只根据Apple's sample code demo, Airlocated评估iBeacon技术。
因此,我只在文件didEnterRegion
中实现两种方法,包括didExitRegion
和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);
}
已尝试过Bellow步骤,但没有效果。
- 在项目信息或info.plist中 - > 自定义IOS目标属性 - > 。添加"所需的背景模式" 。在此添加两项 - > 。"应用程序使用CoreBluetooth共享数据" 。"应用程序注册位置更新"
项目能力中的- - > 有背景模式
醇>
。检查" Loaction update"
。检查"充当蓝牙LE配件" 。检查"使用蓝牙LE配件"
那么,有人可以给我一些建议吗?
提前致谢。
答案 0 :(得分:2)
在startRangingBeaconsInRegion
之后添加startMonitoringForRegion
方法,然后重试
[_locationManager startRangingBeaconsInRegion:demoRegion];
// demoRegion - 您创建的区域