gpt4 book ai didi

ios - 要求用户授予位置权限的警告框未显示

转载 作者:行者123 更新时间:2023-11-28 16:07:25 24 4
gpt4 key购买 nike

我刚刚开始在 iOS 上进行 SWIFT 编程。然而,我在其他语言(如 JAVA、C# 和 PHP)方面有丰富的经验。也就是说,我遇到了一点问题。我正在创建一个简单的应用程序,它将根据用户的地理位置显示用户信息。我正在按照列出的教程 here .

但是,由于 Swift 2.x 和 3.x 之间发生了很多变化,我不得不修改他的代码。不太难,到目前为止我已经编译好了。但是,应用程序从未要求我允许我使用设备的位置。

我已按照 Apple 列出的说明进行操作 here关于将“NSLocationAlwaysUsageDescription”放入 Info.plist 中。但是我从来没有收到提示。下面列出了应该显示此警报的相关代码。

如有任何帮助,我们将不胜感激。谢谢。

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)

// 1. status is not determined
if CLLocationManager.authorizationStatus() == .notDetermined {
locationManager.requestAlwaysAuthorization()
}
// 2. authorization were denied
else if CLLocationManager.authorizationStatus() == .denied {
let controller = UIAlertController(title: "Error!", message: "Location services were previously denied. Please enable location services for this app in Settings.", preferredStyle: .alert)

let alertAction = UIAlertAction(title: "Dismiss", style: .destructive) { (action) in
print("Dismiss button tapped!")
}

controller.addAction(alertAction)

}
// 3. we do have authorization
else if CLLocationManager.authorizationStatus() == .authorizedAlways {
locationManager.startUpdatingLocation()
}
}

最佳答案

您的代码工作正常,您只需要显示您的警报:

self.present(controller, animated: true, completion: nil)

同时看看我的回答here如何将 switch 用于此类代码。

关于ios - 要求用户授予位置权限的警告框未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40078101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com