在ios 6上使用我的应用获取当前用户的位置时遇到问题

时间:2012-09-05 16:28:09

标签: iphone core-location locationmanager ios6

我的应用程序在iOS 5上正常运行,我得到了普通用户的位置信息。但是当在iOS 6上安装我的应用程序时,我的应用程序无法获取用户的位置(我没有弹出请求权限位置,而在位置服务中我没有我的应用程序的图标。其他应用程序,如{{1 }和Instagram在iOS 6上的位置服务中有应用程序的图标。当我使用以下代码检查此问题时,Path会显示:NSlog

我不明白为什么会这样。我尝试过Instagram或Path等其他应用程序。我们仍然可以获得普通用户的位置。我在Unable to determine, possibly not available中研究了iOS 6更改方法委托,但我认为这不是原因,因为我的应用程序没有请求获取用户位置的权限。

CLLocationManagerDelegate

2 个答案:

答案 0 :(得分:1)

我有同样的问题。对于我的应用程序,这种情况是生成的,因为我检查是否启用了locationServices,并且只有在这是真的时才启动更新位置([self.locationManager startUpdatingLocation]。)

+ (BOOL)locationServicesEnabled {
    if (([CLLocationManager locationServicesEnabled]) && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)) {
        return YES;
    } else {
        return NO;
    } 
}
没有检查的

[self.locationManager startUpdatingLocation]看起来很好,但是可能会产生其他问题。

答案 1 :(得分:0)

我认为您的问题是,您只是检查位置是否可用,但不要使用它。所以iOS永远不会要求许可,因为它没有被使用。 你的支票工作正常!

使用像this one这样的教程,它会起作用。我也是这样解决的!