Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用旧sdk构建的应用程序中的位置服务弹出窗口_Ios - Fatal编程技术网

Ios 使用旧sdk构建的应用程序中的位置服务弹出窗口

Ios 使用旧sdk构建的应用程序中的位置服务弹出窗口,ios,Ios,我在应用商店中有一个应用,它是使用SDK 7和部署目标7构建的。iOS 8也在同一时间推出,一些用户在新的iOS上使用该应用程序。 使用iOS 7构建的内部应用程序我有以下几行代码: [self.locationManager startUpdatingLocation]; 该功能调用与系统集成,因为系统调用授权弹出窗口并要求用户允许使用位置服务。 该弹出窗口已在iOS 8中删除,应通过调用以下函数手动显示: [self.locationManager requestWhenInUseAuth

我在应用商店中有一个应用,它是使用SDK 7和部署目标7构建的。iOS 8也在同一时间推出,一些用户在新的iOS上使用该应用程序。 使用iOS 7构建的内部应用程序我有以下几行代码:

[self.locationManager startUpdatingLocation];
该功能调用与系统集成,因为系统调用授权弹出窗口并要求用户允许使用位置服务。 该弹出窗口已在iOS 8中删除,应通过调用以下函数手动显示:

[self.locationManager requestWhenInUseAuthorization];
在我的iOS 7应用程序中,此功能不可用,因此,在没有此请求的旧应用程序中,是否会提示用户允许使用位置


使用旧sdk构建的iOS应用程序如何在具有较新iOS的设备上工作,我的意思是,如果旧iOS应用程序调用不再被弃用但在新iOS上完全删除的函数,会发生什么情况?

您需要检查该方法是否可用并调用它,等待是否提供身份验证

你可以很容易地像这样点它:

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined && [self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
    [self.locationManager requestWhenInUseAuthorization];
}
else {
    [self.locationManager startUpdatingLocation];
}

如果您使用的是较旧的SDK,那么您的应用程序将与以前一样工作,但请注意,从2015年2月开始,Apple要求您的应用程序使用iOS 6 SDK和Xcode 6构建。

我知道这一点。所以这意味着我需要更新ios 8的应用程序,并将其再次放到应用程序商店中,这需要时间。但是如果我不这样做会发生什么呢?它在iOS 8上还能工作吗?如果您正在使用iOS 8 SDK构建应用程序,那么是的,您需要执行上述操作并重新提交。