MKMapView 用户位置 - 授权

Posted

技术标签:

【中文标题】MKMapView 用户位置 - 授权【英文标题】:MKMapView Userlocation - Authorization 【发布时间】:2015-04-12 20:03:13 【问题描述】:

我目前正在尝试运行一个显示用户位置的应用程序屏幕(可能是硬编码的)

这是我目前所拥有的:

我得到错误:

尝试在不提示位置授权的情况下启动 MapKit 位置更新。必须先调用 -[CLLocationManager requestWhenInUseAuthorization] 或 -[CLLocationManager requestAlwaysAuthorization]。

我确实在info.plist 中添加了NSLocationWhenInUseUsageDescription String

谁能帮帮我?

【问题讨论】:

我们不喜欢图片形式的编码转储...请解决这个问题。 据我所知 self.mapView.showsUserLocation = YES;还调用 Location Changes 的委托方法,因为在您获得授权之前,您正在尝试获取用户的位置。您是否尝试过将其移至授权请求下方? 替换 self.mapView.showsUserLocation = YES;在 requestAuthorizations 下面仍然给出同样的错误 张贴您的代码,而不是图片,以便有人可以粘贴并在需要时尝试解决方案。 我发现了问题。在模拟器中默认选择“无位置”,如果您先选择一个(例如 Apple 基地)。它工作正常并要求许可 【参考方案1】:

您似乎没有添加密钥 (NSLocationWhenInUseUsageDescription NSLocationAlwaysUsageDescription) 到你的 info.plist 文件。请参考此tutorial 并查看您的问题是否已解决。我相信这会有所帮助。

【讨论】:

NSLocationWhenInUseUsageDescription 添加。我发现了问题。在模拟器中默认选择为“None Location”,如果您先选择一个(例如Apple base)。它工作正常并要求许可

以上是关于MKMapView 用户位置 - 授权的主要内容,如果未能解决你的问题,请参考以下文章

仅在点击 MKUserTrackingBarButtonItem 时提示位置授权

MKMapView 不更新用户位置图像

iOS 8 MKMapView 用户位置请求失败

MKMapView:用户位置图钉颜色自动变为灰色

如何在当前位置设置 MKMapView 区域并关注用户位置?

iOS:每次用户加载应用程序时如何刷新 MKMapView 用户位置