我正在使用以下代码来监视我的 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 上工作缺少什么的任何想法?
谢谢!