我已经开始使用估计作为信标来测试 iBeacons。
一切都运行得很好,但我很难让应用程序在后台正常运行。
self.region = [[CLBeaconRegion alloc] initWithProximityUUID:self.uuid identifier: self.deviceID];
self.region.notifyEntryStateOnDisplay = YES;
[self.locationManager startMonitoringForRegion:self.region];
所以这是基本设置,对于我的测试应用程序,我想在我的手机紧邻信标时显示本地通知。我的问题是,除非我包含下面的行,否则它将无法工作。
[self.locationManager startUpdatingLocation];
谁能解释一下为什么会这样,或者我是否遗漏了有关 iBeacons 的信息?
你误会了。您无需调用 startUpdatingLocation 即可在后台调用。
当您在后台时,进入某个区域时需要更长的时间才能收到通知。如果您想要进行测距调用,则还必须发出 startRangingBeaconsInRegion 调用。正如另一位海报所指出的,当检测到新的信标时,您只会从后台收到几秒钟的测距呼叫。 (您会收到一个 didEnterRegion,然后是一些范围调用,然后您的应用程序将返回睡眠状态。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)