- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个在 iOS5 上运行的 iPhone 应用程序,当我单击按钮调用 startMonitoringForRegion:desiredAccuracy:
方法时,无法设置地理围栏。
当我打印出 monitoredRegions
中的区域时,它在模拟器中工作正常,但在实际的 iPhone 4 上运行时,monitoredRegions
始终为空。预计 didEnterRegion:
和 didExitRegion:
方法也不会被调用。
另一个令人费解的事实是,在模拟器和 iPhone 4 设备上,CLLocationManagerDelegate 方法 didStartMonitoringForRegion:
也从未被调用。
希望得到一些帮助,谢谢!
编辑:这是我单击按钮时调用的方法:
-(void) queueGeofence: (CLLocationCoordinate2D)selectedBranch userCoordinate:(CLLocationCoordinate2D)userCoordinate radius: (CLLocationDegrees)radius {
geofence = [[CLRegion alloc] initCircularRegionWithCenter:selectedBranch radius:radius identifier:@"geofence"];
CLLocationAccuracy acc = kCLLocationAccuracyNearestTenMeters;
[locationManager startMonitoringForRegion:geofence desiredAccuracy:acc];
[CLLocationManager regionMonitoringEnabled];
NSLog([CLLocationManager regionMonitoringEnabled] ? @"regionMonitoringEnabled:Yes" : @"regionMonitoringEnabled:No");
NSLog([CLLocationManager regionMonitoringAvailable] ? @"regionMonitoringAvailable:Yes" : @"regionMonitoringAvailable:No");
NSLog(@"LOCATIONMANAGER monitored regions: %@", [locationManager monitoredRegions]});
}
区域监控已启用且可用,但 monitoredRegions
仍然没有给我任何返回。
最佳答案
如果您查看 CLLocationManager.h,startMonitoringForRegion:desiredAccuracy:
header 中的注释指出
If a region with the same identifier is already being monitored for this application, it will be removed from monitoring. This is done asynchronously and may not be immediately reflected in monitoredRegions.
因此,您不一定期望 [locationManager protectedRegions]
会包含您新添加的区域,因为它是异步添加的。
您是否正在实现 locationManager:monitoringDidFailForRegion:withError:
的委托(delegate)方法?也许调用它而不是 locationManager:didStartMonitoringForRegion:
。另请注意,与现有区域具有相同标识符的区域将被删除,因此您可能会遇到一些意外问题,因为您重复使用“geofence”
作为标识符。
关于iphone - 即使 startMonitoringForRegion :desiredAccuracy: is called,monitoringRegions 仍为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9005246/
我正在开发一个在 iOS5 上运行的 iPhone 应用程序,当我单击按钮调用 startMonitoringForRegion:desiredAccuracy: 方法时,无法设置地理围栏。 当我打印
我是一名优秀的程序员,十分优秀!