1

我开发了支持 iphone 和 iPad 的 ios 应用程序。

在那个应用程序中,我集成了位置跟踪功能。

这是我实现它的方式。

     //start monitoring for region for checked in location
    CLLocationCoordinate2D centerCoordinate = CLLocationCoordinate2DMake(latitude,longtitude);
    regionalMonitor = [[CLRegion alloc] initCircularRegionWithCenter:centerCoordinate        radius:REGIONAL_MONITOR_RADIOUS identifier:@"checkedIn"];
    [locationManager startMonitoringForRegion:regionalMonitor];


- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
        NSLog(@"didEnterRegion");
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
        NSLog(@"didExitRegion");
}
- (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error
{
    NSLog(@"Region monitoring failed with error: %@", [error localizedDescription]);

}

这种方法在 iphone 应用程序中完美运行。但是当我尝试在 ipad 中执行它们时

monitoringDidFailForRegion

方法将被调用。但它在 ipad 模拟器中完美运行。

是否有任何特殊原因,或者是这个面向设备的错误。因为如果我评论

[locationManager startMonitoringForRegion:regionalMonitor];

那么就不会调用monitoringDidFailForRegion方法

日志消息 - 区域监控失败并出现错误:操作无法完成。

谢谢

4

1 回答 1

1

我很确定 WiFi iPad 或至少较旧的 iPad 不支持地理围栏。

尝试打印 的值[locationManager isMonitoringAvailableForClass:CLRegion]。如果这是真的(1),那么它应该工作。否则,当前设备不支持。

于 2013-09-24T16:02:16.660 回答