iOS CLLocationManager在重建应用程序后未收到更新

时间:2014-08-07 23:16:50

标签: objective-c iphone ios7 core-location cllocationmanager

所以我在这里有一个非常奇怪的问题。

第一次安装我的应用时,它会提示用户" MyApp想要使用您当前的位置",我点击确定,之后位置管理器正常工作。

然后我再次尝试重建应用程序并运行它。这次它没有在位置管理器委托函数中接收任何位置更新,而是在它之前:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)

在我的.plist中,我将所需的后台模式键设置为"应用程序寄存器用于位置更新"和所需的设备功能键与"陀螺仪","位置服务","加速度计"和" gps"。

此外,我检查了设置,并且在位置服务中确实已打开。我也做了以下检查,它返回true:

if ([CLLocationManager locationServicesEnabled] && [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
    // rest of the code
}

我可以通过删除应用并重新安装来反复重现此问题。当它提示使用您当前的位置时它会第一次工作,但是一旦我重新构建并再次运行它,它就会失败。

任何想法都会受到赞赏,谢谢。

1 个答案:

答案 0 :(得分:1)

如果针对iOS 8 SDK构建,我认为您还需要拨打requestWhenInUseAuthorizationrequestAlwaysAuthorization