除了代码之外,是不是可以检查位置是不是已启用?

Posted

技术标签:

【中文标题】除了代码之外,是不是可以检查位置是不是已启用?【英文标题】:Is it possible to check if location has been enabled apart from code?除了代码之外,是否可以检查位置是否已启用? 【发布时间】:2019-10-23 07:45:47 【问题描述】:

我有这个项目给我,它是 react-native 和 swift 的。我们面临一个问题,每次应用启动时都会检查该位置是否已启用。

我对整个代码和所有 AppDelegates 进行了交叉检查,并在以编程方式询问位置权限的任何地方进行了评论。但是仍然找不到应用程序检查位置权限的位置和方式的原因。

那么谁能告诉我除了以编程方式检查设备的位置是否已启用之外是否还有其他方法。

【问题讨论】:

检查 plist 文件中的使用/隐私权限密钥。 @SwapnilLuktuke 是的,我评论了所有权限。 【参考方案1】:

CLLocationManagerDelegate 添加到您的类继承中。

if CLLocationManager.locationServicesEnabled()  //As of July 24, 2018
     switch CLLocationManager.authorizationStatus() 
        case .notDetermined, .restricted, .denied:
            print("No access")
        case .authorizedAlways, .authorizedWhenInUse:
            print("Access")
        
     else 
        print("Location services are not enabled")

【讨论】:

对不起,Rushabh,但这不是我要找的答案。 让我解释清楚你想要什么,也许我可以帮助你。【参考方案2】:

检查您的 plist 文件并删除这些行(如果存在)

<key>NSLocationUsageDescription</key>
<string></string>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>

【讨论】:

我做了,我已经评论了plist的所有权限。 @SimerynDenis 检查这一行 locationManager.requestLocation() 试过还是没用

以上是关于除了代码之外,是不是可以检查位置是不是已启用?的主要内容,如果未能解决你的问题,请参考以下文章

检查是不是启用了“访问我的位置” - Android

jQuery检查表单输入是不是为空,除了一个

Cordova:检查用户是不是启用推送通知的干净方法

明确识别是不是在后台启用了android服务位置和gps

如何检查按钮形状是不是启用? [复制]

除了部分的特定行之外,是不是可以重新加载 UITableView?