如何解决CoreLocation 查看 requestAlwaysAuthorization() 是否触发了弹出窗口
在我的入职流程中,我首先使用 requestWhenInUseAuthorization,这里用户有 3 个选项:
- 在使用中允许
- 允许一次
- 不允许
但是在回调 didChangeAuthorization 状态中,“Allow while in use”和“Allow once”选项没有区别,都显示为“authorizedWhenInUse”。
真正的问题出现在我的下一个屏幕上,我要求 requestAlwaysAuthorization。如果用户选择“允许一次”,则不会弹出询问用户是否愿意
一个。更改为始终允许 湾使用中保持
从这里开始,我的用户被困在了入职流程中。
我的问题和 TL;DR:有没有办法知道用户按下“允许一次”和“使用时允许”之间的区别,或者有没有办法查看是否向用户显示警报视图?
解决方法
不是最优雅的解决方案,但有效。 requestAlwaysAuthorization() 之后
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
if UIApplication.shared.applicationState.rawValue == 0 {
// No location permission popup appeared
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。