Ios8 IOS 8位置服务不工作

Ios8 IOS 8位置服务不工作,ios8,core-location,Ios8,Core Location,总结: 以前运行的应用程序无法运行测地线代码和反向测地线代码。反向测地代码失败,因为测地代码无法提供位置。然后,我使用苹果自己的LocateMe示例代码,还启用了隐私下的定位服务。我还将Location services下的“Allow Location Access”(允许位置访问)启用为Always(始终),但在运行苹果的LocateMe或我自己的应用程序后,此设置会自动变回nothing(无) 复制步骤: 似乎获取位置的位置服务SDK已损坏。之前在iPhone5上运行的软件在升级到IOS

总结: 以前运行的应用程序无法运行测地线代码和反向测地线代码。反向测地代码失败,因为测地代码无法提供位置。然后,我使用苹果自己的LocateMe示例代码,还启用了隐私下的定位服务。我还将Location services下的“Allow Location Access”(允许位置访问)启用为Always(始终),但在运行苹果的LocateMe或我自己的应用程序后,此设置会自动变回nothing(无)

复制步骤: 似乎获取位置的位置服务SDK已损坏。之前在iPhone5上运行的软件在升级到IOS 8后停止工作。 第一步。加载示例LocateMe苹果的示例核心位置示例项目; 第二步。在“系统设置”下启用位置服务,并将应用程序的“允许位置服务”更改为“始终”

获取位置失败,“始终”设置被删除

预期成果: 获取位置和位置更新

实际结果: 见上文

版本: IOS 8.0.0和8.0.2

注:

配置: iphone5和iphone6plus

添加此选项也无济于事: [self.locationManager请求始终授权]

使用

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) \
    ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)



        if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8")) {
            CLLocationManager *manager = [[LocationManager sharedInstance] clLocationManager];
            [manager requestWhenInUseAuthorization];
            [manager startUpdatingLocation]; // or what ever location function you need.
        } else {
            // The usual way for iOS <= 7
            // (Do what you did before) 
        }
#定义系统版本大于或等于(v)\
([[[UIDevice currentDevice]systemVersion]比较:v选项:NSNumericSearch]!=传感器解除搜索)
如果(系统版本大于或等于(@“8”)){
CLLocationManager*manager=[[LocationManager sharedInstance]CLLocationManager];
[使用授权时经理请求];
[manager startUpdatingLocation];//或您需要的任何位置函数。
}否则{

//对于iOS来说,我以前也遇到过同样的问题,这里是我的解决方案