Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.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_Objective C_Cllocationmanager - Fatal编程技术网

Ios 以编程方式请求位置更新权限

Ios 以编程方式请求位置更新权限,ios,objective-c,cllocationmanager,Ios,Objective C,Cllocationmanager,如何以编程方式请求位置更新权限? 我的意思是,我要控制什么,当本机弹出窗口询问“您的当前位置”时弹出窗口 目的: 如果没有权限,我需要控制什么,来展示一些东西,然后才要求它们(苹果原生弹出窗口)。如何做到这一点?您无法控制“苹果原生弹出窗口” 通过CLLocationManager类方法(locationServicesEnabled,authorizedStatus等),您知道所需的服务是否可用。如果位置服务已关闭,您可以开始使用位置管理器(例如,startUpdatingLocation)-

如何以编程方式请求位置更新权限? 我的意思是,我要控制什么,当本机弹出窗口询问“您的当前位置”时弹出窗口

目的: 如果没有权限,我需要控制什么,来展示一些东西,然后才要求它们(苹果原生弹出窗口)。如何做到这一点?

您无法控制“苹果原生弹出窗口”

通过CLLocationManager类方法(
locationServicesEnabled
authorizedStatus
等),您知道所需的服务是否可用。如果位置服务已关闭,您可以开始使用位置管理器(例如,
startUpdatingLocation
)-这是您获得系统对话框并要求用户打开它们的唯一方法。为用户可能不会这样做做好准备


当然,在检测到您被拒绝授权后,没有任何东西阻止您发布自己的警报,要求用户切换到“设置”并授权您。

当您首次尝试使用location和iOS时,之前没有为您的应用请求权限。您没有做任何事来请求权限。正确的做法是检查授权状态并适当使用位置管理器。iOS将根据需要显示对话框。如果没有权限,我将控制什么,我想展示一些东西,然后才请求它们(苹果原生弹出窗口)。如何操作?请阅读
CLLocationManager authorizationStatus
的文档,对其使用进行一些搜索。你会发现很多示例代码,展示了如何正确使用它。@maddy,不确定你的最后一条评论是否很有建设性,我想提出一些看法,说“我要请求位置”,然后实际请求它们。这就是设计。这是我必须做的。怎么做?读我说的。如果你想发出警报,就发出警报。但是您自己不能请求授权。只有系统可以请求授权,用户只能将授权授予系统(通过系统警报或设置),而不能授予您。一旦应用程序想要使用位置服务,就会发生此请求。问题是到底是什么触发了这个弹出窗口?我想我已经回答了。