参见英文答案 >
Location Services not working in iOS 826个
我在Xcode6中创建了新项目,并将旧文件添加到此项目中(旧文件在xcode5中创建),但是发生的事情是一切正常,但是
“didUpdateToLocation”委托方法没有调用,我也使用“didUpdateLocations”委托方法,但两者都没有工作.我从旧文件中使用过代码但是核心位置框架已经从xcode6添加了,我不知道我错过了什么请任何人指导我获得解决方案.
我在Xcode6中创建了新项目,并将旧文件添加到此项目中(旧文件在xcode5中创建),但是发生的事情是一切正常,但是
“didUpdateToLocation”委托方法没有调用,我也使用“didUpdateLocations”委托方法,但两者都没有工作.我从旧文件中使用过代码但是核心位置框架已经从xcode6添加了,我不知道我错过了什么请任何人指导我获得解决方案.
解决方法
如果您在iOS 8设备/模拟器上进行测试,由于iOS 8处理位置服务权限访问的方式,旧位置代码可能无法正常工作.截至目前的iOS 8测试版,您需要使用新的-requestWhenInUseAuthorization方法:
- - (void)updateCurrentLocation {
- if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
- [self.locationManager requestWhenInUseAuthorization];
- }
- [self.locationManager startUpdatingLocation];
- }
用户提示包含应用程序的Info.plist文件中NSLocationWhenInUseUsageDescription键的文本,并且在调用此方法时需要存在该键.
- <key>NSLocationWhenInUseUsageDescription</key>
- <string>We use your location to find places near you.</string>