Skip to content

Commit 9c534bf

Browse files
committed
Fix second request status
1 parent 75f5288 commit 9c534bf

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

Sources/AsyncLocationKit/AsyncLocationManager.swift

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,13 @@ public final class AsyncLocationManager {
3535
proxyDelegate.cancel(for: authorizationPerformer.uniqueIdentifier)
3636
} operation: {
3737
await withCheckedContinuation { continuation in
38-
authorizationPerformer.linkContinuation(continuation)
39-
proxyDelegate.addPerformer(authorizationPerformer)
40-
locationManager.requestWhenInUseAuthorization()
38+
if #available(iOS 14, *), locationManager.authorizationStatus != .notDetermined {
39+
continuation.resume(with: .success(locationManager.authorizationStatus))
40+
} else {
41+
authorizationPerformer.linkContinuation(continuation)
42+
proxyDelegate.addPerformer(authorizationPerformer)
43+
locationManager.requestWhenInUseAuthorization()
44+
}
4145
}
4246
}
4347
}
@@ -48,9 +52,13 @@ public final class AsyncLocationManager {
4852
proxyDelegate.cancel(for: authorizationPerformer.uniqueIdentifier)
4953
} operation: {
5054
await withCheckedContinuation { continuation in
51-
authorizationPerformer.linkContinuation(continuation)
52-
proxyDelegate.addPerformer(authorizationPerformer)
53-
locationManager.requestAlwaysAuthorization()
55+
if #available(iOS 14, *), locationManager.authorizationStatus != .notDetermined {
56+
continuation.resume(with: .success(locationManager.authorizationStatus))
57+
} else {
58+
authorizationPerformer.linkContinuation(continuation)
59+
proxyDelegate.addPerformer(authorizationPerformer)
60+
locationManager.requestAlwaysAuthorization()
61+
}
5462
}
5563
}
5664
}

0 commit comments

Comments
 (0)