IOS触发位置权限弹窗

Posted

技术标签:

【中文标题】IOS触发位置权限弹窗【英文标题】:IOS trigger location permission popup 【发布时间】:2018-01-04 06:03:35 【问题描述】:

我已经在我的应用程序中实现了地理位置功能。 App首次发布,我们已获得“使用时访问位置”权限 但是我们需要再次询问权限弹出窗口才能将位置权限更改为始终

是否可以在我们提供应用程序的更新版本??? 否则如果权限弹窗只显示一次。

【问题讨论】:

是的,如果用户尚未选择,您可以再次请求始终授权。 @PGDev 我在我的第一个应用程序版本中调用了“requestWhenInUseAuthorization”和“requestAlwaysAuthorization”,但我只看到“requestWhenInUseAuthorization”弹出窗口。有可能再做一次??? 您希望 requestWhenInUseAuthorization 和 requestAlwaysAuthorization 再次弹出吗? 我需要再次显示 requestAlwaysAuthorization 弹出窗口 【参考方案1】:

第一个应用的 Info.plist 必须同时包含 NSLocationAlwaysAndWhenInUseUsageDescription 和 NSLocationWhenInUseUsageDescription 键,并带有向用户解释应用如何使用这些数据的字符串值。

现在只需替换​​您的代码行

locationManager.requestWhenInUseAuthorization()

有了这个

locationManager.requestAlwaysAuthorization()

它会再次请求许可,如下所示...

希望这会对您有所帮助。 :)

【讨论】:

当我测试时,我使用了“requestAlwaysAuthorization”并第一次弹出。当我将方法“requestWhenInUseAuthorization”更改为“requestAlwaysAuthorization”并据此设置我的 info.plist 时,再次触发了特定的位置弹出窗口。 是的,它工作正常。但我只来一次是正确的?? @VenkaTeshuser5397700 :是的,它至少会出现一次。我想你的问题已经解决了。 有可能再次触发“requestAlwaysAuthorization” 我在我的第一个应用程序版本中同时调用了“requestWhenInUseAuthorization”和“requestAlwaysAuthorization”,但我只看到“requestWhenInUseAuthorization”弹出窗口。

以上是关于IOS触发位置权限弹窗的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14 本地网络隐私权限请求未触发

WorkLight 触发 iOS 推送通知权限对话框

在我调用 requestWhenInUseAuthorization() 之前触发位置权限对话框

ElementUI重新渲染分页后,取消触发current-change事件的办法

由 iBeacon 触发的 iOS 8 后台位置更新

如何在后台捕获由推送通知触发的 iOS 位置?