に、私はiOSの内の領域を監視するためにCLLocationManagerを使用していません。私は通常の方法でデリゲートを設定します。地域のモニタリング:didEnterRegion火災しかしdidExitRegionがsimuator
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.delegate = self;
とを含むいくつかのデリゲートの機能を実装:のための適切な値に
CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(lat, lng);
CLRegion *grRegion = [[CLRegion alloc] initCircularRegionWithCenter:coordinates radius:radius identifier:[NSString stringWithFormat:@"grRegion%i", 1]];
CLLocationAccuracy acc = kCLLocationAccuracyNearestTenMeters;
[self.locationManager startMonitoringForRegion:grRegion desiredAccuracy:acc];
:
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"GeoFence: didEnterRegion");
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"GeoFence: didExitRegion");
}
を次に私は地域の監視を開始しますlat(51.116261)、1ng(-0.85300)、および半径(200)である。 iPhone 5.1シミュレータでアプリをビルドして実行した後、私は再び私の目標位置とに離れた場所の間を移動するのXcode 4.3で場所注入ツールを使用します。この手順では、didEnterRegionイベントは正しくトリガーされますが、didExitRegionは決して実行されません。私はdidUpdateToLocationのような他の代理コールバックも受け取ります。私がシミュレートされた動きのパターンを変化させてきた、シミュレータの場所の設定ツールではなく、Xcodeののを使用、とiOS 5.1とiPhone 4Sのアプリを実行している同じテストを試してみました。すべてのテストで同じ結果が得られます。他のスレッドで提案されていると無駄に関連するトピックについて他の質問に目を通して
私が保証しているWi-Fiが有効になっています。地域移行イベントの1つがなぜ発生するのか、他のイベント遷移イベントは発生しないのかのような提案はありますか?
iOS 6.1.1には、シミュレータが停止している領域の監視に関する問題があります。 – RawMean
私は同意する、問題はまだ起こっている。この回答は少し古いです。 FWIWは、Appleはまだレーダーを更新していないので、問題はまだそこにあります。レーダーを捨てても構いません。 –