diff --git a/Sources/SwiftLocation/Extensions/CLLocationManager+Extension.swift b/Sources/SwiftLocation/Extensions/CLLocationManager+Extension.swift index 61597dd0..02b3b339 100644 --- a/Sources/SwiftLocation/Extensions/CLLocationManager+Extension.swift +++ b/Sources/SwiftLocation/Extensions/CLLocationManager+Extension.swift @@ -146,6 +146,15 @@ extension CLAuthorizationStatus: CustomStringConvertible { return false } } + + internal var isRejected: Bool { + switch self { + case .denied, .restricted: + return true + default: + return false + } + } public var description: String { switch self { diff --git a/Sources/SwiftLocation/SwiftLocation.swift b/Sources/SwiftLocation/SwiftLocation.swift index d3457d37..cdab8932 100644 --- a/Sources/SwiftLocation/SwiftLocation.swift +++ b/Sources/SwiftLocation/SwiftLocation.swift @@ -551,7 +551,7 @@ public class LocationManager: LocationManagerDelegate, CustomStringConvertible { } private func failWeakAuthorizationRequests() { - guard authorizationStatus.isAuthorized == false else { + guard authorizationStatus.isRejected == true else { // If we have already the authorization even request with `avoidRequestAuthorization = true` // may receive notifications of locations. return diff --git a/SwiftLocation.podspec b/SwiftLocation.podspec index a21d7b2a..80b33afb 100644 --- a/SwiftLocation.podspec +++ b/SwiftLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "SwiftLocation" - s.version = "5.0.1" + s.version = "5.0.2" s.summary = "Location Manager Made Easy" s.description = <<-DESC Efficient location tracking for iOS with support for oneshot/continuous/background tracking, reverse geocoding, autocomplete, geofencing, beacon monitoring & broadcasting diff --git a/SwiftLocationPlayground/SwiftLocationPlayground/View Controllers/Features/Location by GPS/GPSController.swift b/SwiftLocationPlayground/SwiftLocationPlayground/View Controllers/Features/Location by GPS/GPSController.swift index 368a2b64..f1e87e3e 100644 --- a/SwiftLocationPlayground/SwiftLocationPlayground/View Controllers/Features/Location by GPS/GPSController.swift +++ b/SwiftLocationPlayground/SwiftLocationPlayground/View Controllers/Features/Location by GPS/GPSController.swift @@ -232,6 +232,7 @@ class GPSController: UIViewController, UITableViewDelegate, UITableViewDataSourc let request = SwiftLocation.gpsLocationWith(serviceOptions) serviceOptions = GPSLocationOptions() + serviceOptions.avoidRequestAuthorization = true reloadData() AppDelegate.attachSubscribersToGPS([request])