diff --git a/kmp-maps/core/src/iosMain/kotlin/com/swmansion/kmpmaps/core/LocationPermissionHandler.kt b/kmp-maps/core/src/iosMain/kotlin/com/swmansion/kmpmaps/core/LocationPermissionHandler.kt index 2855667..cc2fab9 100644 --- a/kmp-maps/core/src/iosMain/kotlin/com/swmansion/kmpmaps/core/LocationPermissionHandler.kt +++ b/kmp-maps/core/src/iosMain/kotlin/com/swmansion/kmpmaps/core/LocationPermissionHandler.kt @@ -4,6 +4,7 @@ import kotlinx.cinterop.ExperimentalForeignApi import platform.CoreLocation.CLAuthorizationStatus import platform.CoreLocation.CLLocationManager import platform.CoreLocation.CLLocationManagerDelegateProtocol +import platform.CoreLocation.kCLAuthorizationStatusAuthorizedAlways import platform.CoreLocation.kCLAuthorizationStatusAuthorizedWhenInUse import platform.CoreLocation.kCLAuthorizationStatusNotDetermined import platform.darwin.NSObject @@ -33,7 +34,8 @@ internal class LocationPermissionHandler : NSObject(), CLLocationManagerDelegate * @return true if permission is granted, false otherwise */ fun checkPermission() = - locationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedWhenInUse + locationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedWhenInUse || + locationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedAlways /** * Requests location permission from the user if not yet determined. diff --git a/kmp-maps/google-maps/src/iosMain/kotlin/com/swmansion/kmpmaps/googlemaps/LocationPermissionHandler.kt b/kmp-maps/google-maps/src/iosMain/kotlin/com/swmansion/kmpmaps/googlemaps/LocationPermissionHandler.kt index 6fa3846..30acfe5 100644 --- a/kmp-maps/google-maps/src/iosMain/kotlin/com/swmansion/kmpmaps/googlemaps/LocationPermissionHandler.kt +++ b/kmp-maps/google-maps/src/iosMain/kotlin/com/swmansion/kmpmaps/googlemaps/LocationPermissionHandler.kt @@ -4,6 +4,7 @@ import kotlinx.cinterop.ExperimentalForeignApi import platform.CoreLocation.CLAuthorizationStatus import platform.CoreLocation.CLLocationManager import platform.CoreLocation.CLLocationManagerDelegateProtocol +import platform.CoreLocation.kCLAuthorizationStatusAuthorizedAlways import platform.CoreLocation.kCLAuthorizationStatusAuthorizedWhenInUse import platform.CoreLocation.kCLAuthorizationStatusNotDetermined import platform.darwin.NSObject @@ -33,7 +34,8 @@ internal class LocationPermissionHandler : NSObject(), CLLocationManagerDelegate * @return true if permission is granted, false otherwise */ fun checkPermission() = - locationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedWhenInUse + locationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedWhenInUse || + locationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedAlways /** * Requests location permission from the user if not yet determined.