我的iPhone应用程序注册了重要的位置更改。当调用on location change时,我开始对用户位置范围内的所有信标进行信标区域监控。
我的应用程序需要识别用户已进入信标区域(无论应用程序是否正在运行)。为了实现这一目标,我们做了以下工作:
--将信标区域的notifyEntryStateOnDisplay标志设置为true:
beaconRegion.notifyEntryStateOnDisplay = true;--将pList中所需的后台模式设置为蓝牙中心。参考this link
我不确定是什么让它工作的。但事实证明,一旦启动,我们的应用程序就不会关闭定位服务。
当位置服务关闭时,是否有可能获得重要的位置更改更新和信标区域进入更新?我需要设置必要的后台模式才能让它在后台工作吗?
发布于 2014-08-15 20:22:52
当你使用iBeacon监控特定地区时,它将始终在状态栏上显示位置图标,即使应用程序已关闭。
要禁用你的应用程序的位置服务,请尝试在进入后台时为所有注册区域调用下面的方法:
- (void)stopMonitoringForRegion:(CLRegion *)region要在后台使用iBeacon,你实际上需要的不是“蓝牙中心”模式,而是“位置”。
发布于 2015-06-30 14:33:50
您不需要为信标范围保持后台模式位置更新。
对于后台执行,只需使用UIBackgroundTaskIdentifier,您的代码也将在后台运行。
在这里查看我的答案iBeacon ranging in the background?。
https://stackoverflow.com/questions/24040222
复制相似问题