Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Objective c iOS 4.2之前的目标C-[CLLocationManager远程位置管理器:didChangeAuthorizationStatus:]_Objective C_Core Location - Fatal编程技术网

Objective c iOS 4.2之前的目标C-[CLLocationManager远程位置管理器:didChangeAuthorizationStatus:]

Objective c iOS 4.2之前的目标C-[CLLocationManager远程位置管理器:didChangeAuthorizationStatus:],objective-c,core-location,Objective C,Core Location,我刚刚读到,这个委托仅在iOS 4.2中添加 [CLLocationManagerDelegate locationManager:didChangeAuthorizationStatus:] 结果是,该方法使旧iOS版本的设备崩溃。 例如,在iOS 4.1中,该方法的等价物是什么 谢谢你, Tee在早期版本中,调用locationManager:didFailWithError:委托方法时会出现错误,在早期版本中会显示kclerorDenied,您将调用locationManager:did

我刚刚读到,这个委托仅在iOS 4.2中添加

[CLLocationManagerDelegate locationManager:didChangeAuthorizationStatus:]
结果是,该方法使旧iOS版本的设备崩溃。
例如,在iOS 4.1中,该方法的等价物是什么

谢谢你,

Tee

在早期版本中,调用
locationManager:didFailWithError:
委托方法时会出现错误,在早期版本中会显示
kclerorDenied
,您将调用
locationManager:didFailWithError:
委托方法,错误为
kCLErrorDenied
代码中的locationManager:didChangeAuthorizationStatus:delegate方法未导致崩溃。您必须在某个地方向CLLocationManager实例发送了authorizationStatus消息,该消息在4.2之前无法识别

在代码中使用locationManager:didChangeAuthorizationStatus:delegate方法不会导致崩溃。您必须在某个地方向CLLocationManager实例发送了authorizationStatus消息,该消息在4.2之前无法识别

谢谢丹尼斯,这太奇怪了,因为我实际上也有方法定位经理:迪德罗。当用户使用4.1时,为什么会出现此错误+[CLLocationManager authorizationStatus]:发送到类0x3e2ee618至11月17日12:23:49的未识别选择器未知:**由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[CLLocationManager authorizationStatus]:发送到类0x3e2ee618的未识别选择器”。看起来像locationManager:didChangeAuthorizationStatus:正在被调用,而不是locationManager:didFailWithError:之前,通知错误的唯一方法是处理didFailWithError委托方法,因此当用户拒绝位置访问时,在下一次尝试获取位置时,您将收到didFailWithError;在4.2版本中,苹果增加了更舒适的单独通知,告知用户不允许访问应用程序的位置数据;崩溃的原因确实在于authorizationStatus选择器发送,它只是在iOS 4.2之前版本中不存在;因此,在调用itThanks Denis之前,您必须检查实际的iOS版本,这很奇怪,因为我实际上还有方法locationManager:didFailWithError。当用户使用4.1时,为什么会出现此错误+[CLLocationManager authorizationStatus]:发送到类0x3e2ee618至11月17日12:23:49的未识别选择器未知:**由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[CLLocationManager authorizationStatus]:发送到类0x3e2ee618的未识别选择器”。看起来像locationManager:didChangeAuthorizationStatus:正在被调用,而不是locationManager:didFailWithError:之前,通知错误的唯一方法是处理didFailWithError委托方法,因此当用户拒绝位置访问时,在下一次尝试获取位置时,您将收到didFailWithError;在4.2版本中,苹果增加了更舒适的单独通知,告知用户不允许访问应用程序的位置数据;崩溃的原因确实在于authorizationStatus选择器发送,它只是在iOS 4.2之前版本中不存在;所以你必须检查一下实际的iOS版本,在打电话给iThanks之前,是的,我发现它在别的地方。有时候,你只是在盯着代码看了这么久之后,没有看到更大的图景。哦,谢谢,是的,我发现它在别的地方。有时候,你只是在盯着代码看了这么久之后,没有看到更大的图景。哦。