繁体   English   中英

在iOS 6上通过我的应用获取当前用户的位置时遇到问题

[英]Have issue in get current user's location with my app on ios 6

我的应用程序在iOS 5上运行良好,我获得了普通用户的位置信息。 但是在iOS 6上安装我的应用程序时,我的应用程序无法获取用户的位置(我没有弹出询问权限位置,在位置服务中我没有应用程序的图标。其他应用程序,例如InstagramPath在iOS 6的位置服务中具有该应用程序的图标)。 当我在下面使用此代码检查此问题时, NSlog显示: Unable to determine, possibly not available

我不明白为什么会这样。 我尝试了其他应用程序,例如Instagram或Path。 我们仍然会获得普通用户的位置。 我在CLLocationManagerDelegate研究了iOS 6更改方法委托,但我认为这不是原因,因为我的应用程序不要求获得用户位置的权限。

if ([CLLocationManager locationServicesEnabled]) {
        NSLog(@"Location Services Enabled");
        switch ([CLLocationManager authorizationStatus]) {
            case kCLAuthorizationStatusAuthorized:
                NSLog(@"We have access to location services");
                break;
            case kCLAuthorizationStatusDenied:
                NSLog(@"Location services denied by user");
                break;
            case kCLAuthorizationStatusRestricted:
                NSLog(@"Parental controls restrict location services");
                break;
            case kCLAuthorizationStatusNotDetermined:
                NSLog(@"Unable to determine, possibly not available");
                break;
            default:
                break;
        }
    }
    else {
        NSLog(@"Location Services Are Disabled");
    }

我也有同样的问题。 对于我的应用程序,这种情况之所以产生,是因为我检查locationServices是否已启用,并且仅在为true时才开始更新位置([self.locationManager startUpdatingLocation]。)

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

没有检查的[self.locationManager startUpdatingLocation]看起来不错,但可能会产生其他问题。

我认为您的问题是,您只是检查位置是否可用,而不使用它。 因此,iOS从未请求许可,因为未使用它。 您的支票运作良好!

使用教程像这一次 ,它会工作。 我也为我解决了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM