startMonitoringForRegion当应用程序关闭(startMonitoringFor

2019-10-22 03:19发布

我使用startMonitoringForRegion监视特定区域。 当App未运行余当用户输入由比较/离开特定位置已成功地产生的本地通知[launchOptions objectForKey:@"UIApplicationLaunchOptionsLocationKey"]在AppDelegate中。

但现在我不能够理解我怎么能知道用户的位置进入或离开的位置。 我无法找到一个方法来检查响应。 我可以在警示身体的反应如何? 我搜索在互联网,但无法找到已在AppDelegate中写了一些代码的任何教程。

Answer 1:

您可以使用位置管理的委托方法

- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region{

    if (state == CLRegionStateInside) {

        // We entered a region
         NSLog(@"Inside region");
 if([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground){

            UILocalNotification *notification = [[UILocalNotification alloc] init];
            notification.alertBody = @"Region Detected";
            notification.soundName = @"Default";
            [[UIApplication sharedApplication] presentLocalNotificationNow:notification];


    } else if (state == CLRegionStateOutside) {

       // We are outside region
        NSLog(@"Outside region");
    }
}

IN的appdelegate

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"PerformAction" object:nil userInfo:nil];
}

在你的视图控制器viewDidLoad方法:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(performAction) name:@"PerformAction" object:nil];

在您的同一的viewController添加下面的方法和执行行动乌尔

-(void)performAction
{
  // perform your action
}


文章来源: startMonitoringForRegion when App close