次のコードを使用して、iOS アプリでリージョンを監視しています。iOS6でアプリをビルドすると完全に機能します。iOS7 でビルドすると、didEnterRegion がトリガーされません。
// リージョンを作成して iOS に登録する
CLLocationCoordinate2D venueCenter = CLLocationCoordinate2DMake([favoriteVenue.venueLat doubleValue], [favoriteVenue.venueLng doubleValue]);
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:venueCenter radius:REGION_RADIUS identifier:favoriteVenue.venueId];
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.locationManager startMonitoringForRegion:[self regionForVenue:favoriteVenue]];
// AppDelegate.m 内
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"Entered region: %@", region.identifier);
}
また、必要なバックグラウンド モードを、plist ファイルで「アプリが位置情報の更新に登録する」として設定しました。
この機能が iOS7 で動作するために何が欠けているかについてのアイデアはありますか?
ありがとう!