我正在将iOS7背景位置iPhone应用程序转换为iOS8,并设法让LocationManager使用本网站上的许多建议再次提供坐标。
我只对requestAlwaysAuthorization
而不是requestWhenInUseAuthorization
感兴趣。
但是,我无法让iOS提示用户使用位置服务的许可,我想知道在某些情况下是否应该这样做。
有人可以回答以下问题:
如果我的隐私/位置服务/“我的应用”设置为“从不”,这是否会阻止应用接收GPS坐标,除非该应用专门指示用户更改该设置? (如果隐私/位置服务/“我的应用”设置为“始终”,我似乎只会收到坐标)
iOS是否会提示用户专门授权GPS使用(就像以前的iOS版本一样)?在什么情况下?如果不是,我认为该应用必须引发合适的UIAlert
,以引导用户更改隐私/位置服务/设置,以响应didChangeAuthorizationStatus
返回状态:kCLAuthorizationStatusNotDetermined
。
UIApplicationOpenSettingsURLString
可用于将用户发送到此应用的设置页面。但是,这不显示隐私/位置服务/“我的应用程序”页面,如果当前设置阻止返回坐标,则用户需要更改该页面。是否有不同的方式以编程方式将用户直接引导至此应用的隐私/位置服务/“我的应用”页面?
非常感谢您的协助
罗伯特
答案 0 :(得分:0)
是的,一旦设置为“never”,iOS就不会提示用户提供权限 - 他们已经给出了答案而且“是”。您可以在应用中显示警报,要求他们将其打开,但如果您经常这样做,就会变得烦人。
第一次应用程序调用{{1}} / requestWhenInUseAuthorization
时会显示警报。如果用户拒绝提供位置访问权限,则隐私设置将设置为“从不”,并且您处于问题1中描述的情况。如果授予了权限,则隐私设置将设置为“在使用中”或“始终”。每次应用运行时,您都应该致电requestAlwaysAuthorization
/ requestWhenInUseAuthorization
。
无法直接从您的应用中打开隐私/位置设置屏幕。