Cannot locate compiling with Xcode6

正式推出的 iOS8 中,定位服务分为了 使用应用程序期间始终 两种权限,这导致了一些变化。之前的工程若用 Xcode5 编译,并在 iOS8 上运行,会向用户请求始终获取位置的权限。若用 Xcode6 编译,会发现程序不会向用户请求权限,同时导致无法定位。

解决方法并不复杂,只需在 Info.plist 中加入请求定位权限时显示给用户的提示信息即可:

-Info.plist
1
2
<key>NSLocationWhenInUseUsageDescription</key>
<string>写上为什么要在程序运行时获取位置</string>


-Info.plist
1
2
<key>NSLocationAlwaysUsageDescription</key>
<string>写上为什么要始终获取位置</string>