Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion packages/location/ios/Classes/LocationPlugin.m
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,17 @@ - (FlutterError *)onCancelWithArguments:(id)arguments {

- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations {
if (self.waitNextLocation > 0) {

// Check if location accuracy is reduced on iOS 14 and above
// This means precise location is disabled and only one location update will be sent
BOOL isReducedAccuracy = NO;
if (@available(iOS 14.0, *)) {
CLAccuracyAuthorization accuracy = [self.clLocationManager accuracyAuthorization];
isReducedAccuracy = (accuracy == CLAccuracyAuthorizationReducedAccuracy);
}

// Only use the guard if precise location is enabled
if (!isReducedAccuracy && self.waitNextLocation > 0) {
self.waitNextLocation -= 1;
return;
}
Expand Down