我希望在特定时间进行区域监控。我有特定的事件时间,所以我想检查用户在该特定时间是否在该区域
您可以向应用程序发送静默推送通知,该通知将在您想要的时间唤醒它。(你需要一个远程服务器来完成这项工作。还有很多服务可以发送推送消息,所以你必须自己编写)
这是我了解的唯一途径
- (void)receivedNotification:(id)pushMessage {
//this will trigger the delegate to be called, check against the region there
[self.locationManager startUpdateLocations];
}
只需设置在特定时间熄灭的计时器,即可启动区域监控。例如,您可以监控信标区域、
_locationManager = [[CLLocationManager alloc]init];
_locationManager.delegate = self;
[_locationManager requestAlwaysAuthorization];
NSUUID *uuid = [[NSUUID alloc]initWithUUIDString:@"FDA50693-A4E2-4FB1-AFCF-C6EB07647825"];
CLBeaconRegion *region = [[CLBeaconRegion alloc]initWithProximityUUID:uuid identifier:@"skyBeacons"];
self.myregion =region;
self.myregion.notifyOnEntry= YES;
self.myregion.notifyOnExit =YES;
[_locationManager startMonitoringForRegion:self.myregion];
然后您可以使用位置管理器委派来捕获用户/区域。