所以我在这里有一个非常奇怪的问题。
第一次安装我的应用时,它会提示用户" MyApp想要使用您当前的位置",我点击确定,之后位置管理器正常工作。
然后我再次尝试重建应用程序并运行它。这次它没有在位置管理器委托函数中接收任何位置更新,而是在它之前:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)
在我的.plist中,我将所需的后台模式键设置为"应用程序寄存器用于位置更新"和所需的设备功能键与"陀螺仪","位置服务","加速度计"和" gps"。
此外,我检查了设置,并且在位置服务中确实已打开。我也做了以下检查,它返回true:
if ([CLLocationManager locationServicesEnabled] && [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
// rest of the code
}
我可以通过删除应用并重新安装来反复重现此问题。当它提示使用您当前的位置时它会第一次工作,但是一旦我重新构建并再次运行它,它就会失败。
任何想法都会受到赞赏,谢谢。
答案 0 :(得分:1)
如果针对iOS 8 SDK构建,我认为您还需要拨打requestWhenInUseAuthorization
或requestAlwaysAuthorization
。