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] 

位置認識プログラミング ガイドでは、

監視するリージョンのセットを指定するときは、常に慎重に行う必要があります。リージョンは共有システム リソースであり、システム全体で使用できるリージョンの総数は制限されています。このため、Core Location は、1 つのアプリケーションで同時に監視できるリージョンの数を制限します。

したがって、リージョンの最大数は制限されており、固定されていません。システム全体で共有されます。あなたの質問を参照して、地域を再定義する必要があります。

実装することを忘れないでください

locationManager:monitoringDidFailForRegion:withError:

監視対象領域の追加に失敗した場合。

于 2013-08-30T08:40:58.573 に答える