我的应用程序在iOS 5上正常运行,我得到了普通用户的位置信息。但是当在iOS 6上安装我的应用程序时,我的应用程序无法获取用户的位置(我没有弹出请求权限位置,而在位置服务中我没有我的应用程序的图标。其他应用程序,如{{1 }和Instagram
在iOS 6上的位置服务中有应用程序的图标。当我使用以下代码检查此问题时,Path
会显示:NSlog
我不明白为什么会这样。我尝试过Instagram或Path等其他应用程序。我们仍然可以获得普通用户的位置。我在Unable to determine, possibly not available
中研究了iOS 6更改方法委托,但我认为这不是原因,因为我的应用程序没有请求获取用户位置的权限。
CLLocationManagerDelegate
答案 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这样的教程,它会起作用。我也是这样解决的!