Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.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用户拒绝“使用当前位置”的权限,技术上是否可以再次显示权限对话框?_Ios_Location_Xamarin_Spatial - Fatal编程技术网

如果iOS用户拒绝“使用当前位置”的权限,技术上是否可以再次显示权限对话框?

如果iOS用户拒绝“使用当前位置”的权限,技术上是否可以再次显示权限对话框?,ios,location,xamarin,spatial,Ios,Location,Xamarin,Spatial,我的iOS应用程序希望显示用户的当前位置。没什么特别的-但要做到这一点,第一次运行应用程序或更精确地运行应用程序时,第一次显示应用程序中的MKViewMap时,我想。。用户被要求获得权限,这太棒了 例如 现在,如果用户意外地说不允许或决定稍后给予许可。。。从技术上讲,我们是否可以重置他们以前的决定,并在重新启动应用程序时,在下次再次渲染MKViewMap时自动再次询问他们?用户可以在iphone的设置中启用或禁用该选项。为此,用户必须在设置菜单中选择隐私选项,然后选择Location Servi

我的iOS应用程序希望显示用户的当前位置。没什么特别的-但要做到这一点,第一次运行应用程序或更精确地运行应用程序时,第一次显示应用程序中的MKViewMap时,我想。。用户被要求获得权限,这太棒了

例如


现在,如果用户意外地说不允许或决定稍后给予许可。。。从技术上讲,我们是否可以重置他们以前的决定,并在重新启动应用程序时,在下次再次渲染MKViewMap时自动再次询问他们?

用户可以在iphone的设置中启用或禁用该选项。为此,用户必须在设置菜单中选择隐私选项,然后选择Location Services(位置服务)选项,然后搜索用户想要为其启用或禁用权限的应用程序,并通过打开或关闭切换按钮来执行所需功能。

由于这是Apple提供的私有API,因此警报无法再次显示。或者,我们可以手动检查并显示类似这样的警报

以下内容可在Apple文档中阅读: …建议您在尝试启动标准或重大更改位置服务之前,始终调用CLLocationManager的locationServicesEnabled类方法。如果返回“否”,并且您仍尝试启动位置服务,系统将提示用户确认是否应重新启用位置服务。鉴于定位服务很可能被故意禁用,用户可能不欢迎此提示

如果我理解正确,每次您尝试获取用户位置时,都会弹出警报,但不建议这样做

链接至全文:
不,您不能这样做。与此相反,您只需检查纬度和经度值,并通过设置向启用服务的用户显示警报。

是否可以在我的应用程序中检查设置是否已关闭?是的,只需运行[CLLocationManager authorizationStatus]注意:class方法。结果将是enum CLAuthorizationStatus。