基于位置的提醒didEnterRegion不起作用

时间:2018-08-10 09:57:38

标签: ios objective-c cllocationmanager

我一直试图在设备进入我设置的半径区域时设置警报。但是,当我启动该应用程序时,它并不是第一次打电话,甚至当我离开该区域并重新进入时也是如此。没被叫。
我已启用后台应用刷新。
我已在Info.plist中将背景状态设置为“是”。 我还添加了使用时的位置,并且始终在Info.plist中
这是为了提醒我通过地图设置的位置。当我进入该区域时,我会在该位置设置一个本地通知以提醒我。

        - (void) createLocationManager
        {
            self.locationManager = [ [ CLLocationManager alloc ] init ];
            self.locationManager.delegate = self;
            self.locationManager.distanceFilter = 10;
            self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;

            if( [self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])
            {
                [ self.locationManager requestAlwaysAuthorization ];
            }

            if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
            {
                [ self.locationManager requestAlwaysAuthorization ];
            }

            NSSet* monitorSet = self.locationManager.monitoredRegions;
            NSLog(@"Monitored Regions %@", monitorSet );

            [ self startMonitor ];
        }

我将纬度和经度设置为当前位置,以便可以通过该区域的进出进行测试

        - (void) startMonitor
        {
            double latitude = self.locationManager.location.coordinate.longitude;
            double longitude = self.locationManager.location.coordinate.latitude;


            CLCircularRegion *circularRegion = [ [ CLCircularRegion alloc ] initWithCenter:CLLocationCoordinate2DMake(latitude, longitude)
                                                                                    radius:100
                                                                                identifier:@"1526023958.1528539973.152853997A" ];

            [ self.locationManager requestStateForRegion:circularRegion];

            [ self.locationManager startMonitoringForRegion:circularRegion ];

        }

此委托方法不起作用。我在此方法内没有任何反应。

        - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
        {
            [ self showAlert ];
        }

0 个答案:

没有答案