0

可以在 xcode 中监控的最大区域是 20 个区域,我如何通过仅监控最近的区域来监控超过这个数字?

    for (int i = 0; i < [AllRegionsArray count]; i++) {
        NSArray *LongLati = [AllRegionsArray objectAtIndex:i];
        lutiuid  = [LongLati objectAtIndex:0];
        Longtuid = [LongLati objectAtIndex:1];

        CLLocationCoordinate2D centreLoc = {[lutiuid floatValue], [Longtuid floatValue]};
        CLLocationDistance regionRadius = 100.00;
        CLRegion *grRegion = [[CLRegion alloc] initCircularRegionWithCenter:centreLoc radius:regionRadius identifier:[NSString stringWithFormat:@"grRegion%i",i]];

        [locationManager startMonitoringForRegion:grRegion desiredAccuracy:acc];


    }
4

1 回答 1

0

通过以下方式检查可用的区域数量:

[CLLocationManager regionMonitoringAvailable] 

在位置感知编程指南中,

在指定要监控的区域集时,您应该始终保持审慎。区域是共享的系统资源,系统范围内可用的区域总数是有限的。出于这个原因,核心位置限制了单个应用程序可以同时监控的区域数量。

因此,区域的最大数量是有限的而不是固定的。它在系统范围内共享。关于您的问题,您应该重新定义您的区域。

记得执行

locationManager:monitoringDidFailForRegion:withError:

添加要监控的区域时出现任何故障。

于 2013-08-30T08:40:58.573 回答