objective-c - 定位服务在 iOS 8 中不起作用

标签 objective-c ios8 location cllocationmanager

我在 iOS 7 上运行良好的应用程序不适用于 iOS 8 SDK。

CLLocationManager 不返回位置,我也没有在 Settings -> Location Services 下看到我的应用。我对这个问题进行了谷歌搜索,但没有任何结果。有什么问题?

最佳答案

我最终解决了自己的问题。

显然在 iOS 8 SDK 中,requestAlwaysAuthorization(用于后台定位)或 requestWhenInUseAuthorization(仅在前台定位)调用 CLLocationManager 之前开始位置更新。

Info.plist 中还需要有 NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescription 键,并在提示中显示一条消息。添加这些解决了我的问题。

enter image description here

如需更多信息,请查看:Core-Location-Manager-Changes-in-ios-8

关于objective-c - 定位服务在 iOS 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24062509/

相关文章:

ios - UITableViewCell 的 ViewDidDisappear

ios - 如何将一个区域的地理围栏添加到监控中。

ios - 我如何使用 “App registers for location updates”背景模式在后台播放音频文件

parsing - 使用 JSOUP 或其他 HTML 解析器捕获 header 位置

ios - 关于使用Core Data和多线程的几个问题

ios - 如何与iPhone中的Retina 3.5和4兼容

ios - MapKit - 更新 MapView 以通过计时器显示移动注释

ios - viewDidLayoutSubviews 无限循环与 iOS 8

iphone - UITextView 没有成为 iOS 7 中的第一响应者

ios - UITableViewCell 内的 UITextField 滑动删除问题