gpt4 book ai didi

xcode - swift : Trying to start MapKit location updates without prompting for location authorization

转载 作者:搜寻专家 更新时间:2023-11-01 05:40:23 25 4
gpt4 key购买 nike

我正在使用 XCode 7.0 Beta 和 Swift。

我正在使用 MKMapView 在 map 上显示一些地方。一切正常:我看到了 map 和 map 上的地点,但出现以下错误消息:

Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.

在 Info.plist 文件中,我添加了 NSLocationAlwaysUsageDescription 和 NSLocationWhenInUseUsageDescription(见截图)

> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC
> "-//Apple//DTD PLIST 1.0//EN"
> "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist
> version="1.0"> <dict> <key>NSLocationAlwaysUsageDescription</key>
> <string>Test is NSLocationAlwaysUsageDescription</string>
> <key>NSLocationWhenInUseUsageDescription</key> <string>This is
> NSLocationWhenInUseUsageDescription</string>

在 viewDidLoad 中,我有以下代码

import UIKit
import MapKit
import CoreLocation

class ViewController: UIViewController {

@IBOutlet weak var btn: UIButton!
@IBOutlet weak var Map: MKMapView!

@IBAction func btnClick(sender: AnyObject) {

}

override func viewDidLoad() {

super.viewDidLoad()

let locationManager = CLLocationManager()

var CLAuthStatus = CLLocationManager.authorizationStatus()

if(CLAuthStatus == CLAuthorizationStatus.NotDetermined) {
locationManager.requestAlwaysAuthorization();
}

当我在模拟器中运行代码时,我没有任何警告或任何提示询问我的授权。

怎么了?

提前致谢

祝你有个愉快的一天

吉斯兰

最佳答案

我想我遇到了相同或相似的问题。我的所有代码都正确,但用户从未被要求授权,授权状态始终为 .Undetermined。我怀疑用户请求已提交,但在 mapView 后面,因此无法看到。如果你的问题和我的一样,你可以这样解决:在设备上转到设置/隐私/定位服务。点击定位服务,然后向下滚动到您的应用程序名称并点击它,然后会看到一个名为“允许定位服务”的组,其中包含“从不”和“始终”。在其下方,您将看到放入 .plist 文件中的字符串。选择“始终”(如果这是您想要的)并再次尝试运行,看看是否能解决问题。

关于xcode - swift : Trying to start MapKit location updates without prompting for location authorization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31319621/

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