Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Iphone 如果用户说;否";_Iphone_Objective C_Ios_Mapkit - Fatal编程技术网

Iphone 如果用户说;否";

Iphone 如果用户说;否";,iphone,objective-c,ios,mapkit,Iphone,Objective C,Ios,Mapkit,可能重复: 我想让“使用当前位置”警报在用户说“否”时保持提示 当前在我正在使用的应用程序中,如果用户说“否”,则不会再次显示提示。我想知道如果提示/警报返回到视图控制器,如何保持其活动状态 感谢您的帮助我很确定它只设计了一次(而且有充分的理由)。您可以检查您的应用程序是否启用了位置服务,并弹出类似“请启用位置服务…”的消息 编辑:您可以检查是否使用启用了位置服务 [CLLocationManager authorizationStatus] == kCLAuthorizationStatu

可能重复:

我想让“使用当前位置”警报在用户说“否”时保持提示

当前在我正在使用的应用程序中,如果用户说“否”,则不会再次显示提示。我想知道如果提示/警报返回到视图控制器,如何保持其活动状态


感谢您的帮助

我很确定它只设计了一次(而且有充分的理由)。您可以检查您的应用程序是否启用了位置服务,并弹出类似“请启用位置服务…”的消息

编辑:您可以检查是否使用启用了位置服务

[CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized

我很确定它只设计了一次(并且有很好的理由)。您可以检查您的应用程序是否启用了位置服务,并弹出类似“请启用位置服务…”的消息

编辑:您可以检查是否使用启用了位置服务

[CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized

每当您尝试调用像
startUpdatingLocation这样的方法时,Corelocationmanager将触发
-(void)locationManager:didFailWithError:(nError*)错误
。因此,您可以使用以下代码检查用户是否拒绝位置监视

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
      if([error code] == kCLErrorDenied){
        //Alert view
      }
}
您可以通过重置位置警告再次启用Corelocation警报。转到设置>常规>重置>重置位置警告。此外,您还可以添加alertview,要求用户指向设置应用程序,并在其中重置位置警告。在警报视图委托中使用以下代码打开设置应用程序

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];

每当您尝试调用像
startUpdatingLocation这样的方法时,Corelocationmanager将触发
-(void)locationManager:didFailWithError:(nError*)错误
。因此,您可以使用以下代码检查用户是否拒绝位置监视

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
      if([error code] == kCLErrorDenied){
        //Alert view
      }
}
您可以通过重置位置警告再次启用Corelocation警报。转到设置>常规>重置>重置位置警告。此外,您还可以添加alertview,要求用户指向设置应用程序,并在其中重置位置警告。在警报视图委托中使用以下代码打开设置应用程序

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];

这对用户来说不是非常令人沮丧吗?当然,唯一的问题是,在它询问一次之后,它再也不会询问,并且不会返回表数据结果。因此,如果他们误按了“否”,应用程序就没用了:我认为这最好改成“如果用户意外拒绝,如何让位置服务重新向用户申请位置许可”这样的措辞。是的,这是一个更好的措辞。谢谢,这对用户来说不是非常令人沮丧吗?当然,唯一的问题是,在它询问一次之后,它再也不会询问,并且不会返回表数据结果。因此,如果他们误按了“否”,应用程序就没用了:我认为这最好改成“如果用户意外拒绝,如何让位置服务重新向用户申请位置许可”这样的措辞。是的,这是一个更好的措辞。谢谢,就这样吧。谢谢好吧,那就让它保持原样吧。谢谢