startMonitoringForRegion 与 startMonitoringSignificantLocationChanges
startMonitoringForRegion vs startMonitoringSignificantLocationChanges
我正在使用 IBeacon 构建一个简单的 ios 应用程序,我正在使用 startMonitoringForRegion 来检测信标。
[self.locationManager startMonitoringForRegion:beaconRegion];
没关系。我的问题是我想检查蓝牙是打开还是关闭。如果蓝牙关闭,我想定期检查用户是否靠近信标网络并发送建议激活蓝牙的通知。为此,我正在使用 startMonitoringSignificantLocationChanges。
[self.locationManager startMonitoringSignificantLocationChanges];
问题是这两种方法都调用了 didUpdateLocations,所以我发送了多个通知。我可以确定此方法是由 startMonitoringForRegion 还是 startMonitoringSignificantLocationChanges 调用的吗?
谢谢
startMonitoringSignificantLocationChanges 使用 locationManager:didUpdateLocations: 回调
while startMonitoringForRegion: 使用 locationManager:didEnterRegion:(didExitRegion) 回调
问题是在 didEnterRegion: 回调中我有 startRangingBeaconsInRegion 和 startUpdatingLocation。
[manager startRangingBeaconsInRegion:(CLBeaconRegion*) region];
//[self.locationManager startUpdatingLocation];
第二个对我来说不是必需的,所以我评论了那行并且它工作正常。 didUpdateLocations:回调现在仅由 startMonitoringSignificantLocationChanges 触发。
我正在使用 IBeacon 构建一个简单的 ios 应用程序,我正在使用 startMonitoringForRegion 来检测信标。
[self.locationManager startMonitoringForRegion:beaconRegion];
没关系。我的问题是我想检查蓝牙是打开还是关闭。如果蓝牙关闭,我想定期检查用户是否靠近信标网络并发送建议激活蓝牙的通知。为此,我正在使用 startMonitoringSignificantLocationChanges。
[self.locationManager startMonitoringSignificantLocationChanges];
问题是这两种方法都调用了 didUpdateLocations,所以我发送了多个通知。我可以确定此方法是由 startMonitoringForRegion 还是 startMonitoringSignificantLocationChanges 调用的吗?
谢谢
startMonitoringSignificantLocationChanges 使用 locationManager:didUpdateLocations: 回调
while startMonitoringForRegion: 使用 locationManager:didEnterRegion:(didExitRegion) 回调
问题是在 didEnterRegion: 回调中我有 startRangingBeaconsInRegion 和 startUpdatingLocation。
[manager startRangingBeaconsInRegion:(CLBeaconRegion*) region];
//[self.locationManager startUpdatingLocation];
第二个对我来说不是必需的,所以我评论了那行并且它工作正常。 didUpdateLocations:回调现在仅由 startMonitoringSignificantLocationChanges 触发。