我目前正在为客户编写一个家庭自动化应用程序,当他们到达距离他们家 150 米范围内时,它会打开他们的车库、打开客厅和办公室的灯以及其他类似的东西。当他们离开时,它会做相反的事情。我非常感谢iOS内置了地理围栏,当应用程序在前台时,该功能可以完美运行,但是当用户关闭应用程序并且手机仍在监控地理围栏时,应用程序在事件发生时什么也不做。除了 locationManager:didEnterRegion: 之外,我应该为我的应用程序的后台通知实现一个单独的方法吗?这是我现在正在使用的代码:
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
NSLog(@"Entered Region - %@", region.identifier);
[self showRegionAlert:@"Entering Region" forRegion:region.identifier];
[self sendCommand:true];
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSLog(@"Exited Region - %@", region.identifier);
[self showRegionAlert:@"Exiting Region" forRegion:region.identifier];
[self sendCommand:false];
}