From 9f3acf3f22883cab7ef4f7f18a25092ae0d722bd Mon Sep 17 00:00:00 2001 From: perrchick Date: Thu, 7 Mar 2019 12:42:22 +0200 Subject: [PATCH] Considering and old issue as well: https://github.com/Lyokone/flutterlocation/issues/36 --- ios/Classes/LocationPlugin.m | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/ios/Classes/LocationPlugin.m b/ios/Classes/LocationPlugin.m index dcb8d4f5..904cf400 100644 --- a/ios/Classes/LocationPlugin.m +++ b/ios/Classes/LocationPlugin.m @@ -128,7 +128,13 @@ -(BOOL) isPermissionGranted { -(FlutterError*)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { self.flutterEventSink = events; self.flutterListening = YES; - [self.clLocationManager startUpdatingLocation]; + + if ([self isPermissionGranted]) { + [self.clLocationManager startUpdatingLocation]; + } else { + [self requestPermission]; + } + return nil; } @@ -137,6 +143,8 @@ -(FlutterError*)onCancelWithArguments:(id)arguments { return nil; } +#pragma mark - CLLocationManagerDelegate Methods + -(void)locationManager:(CLLocationManager*)manager didUpdateLocations:(NSArray*)locations { CLLocation *location = locations.firstObject; NSDictionary* coordinatesDict = @{ @@ -160,4 +168,18 @@ -(void)locationManager:(CLLocationManager*)manager didUpdateLocations:(NSArray