OStack程序员社区-中国程序员成长平台

标题: ios - 手机锁定后位置访问权限警报消失 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 20:32
标题: ios - 手机锁定后位置访问权限警报消失

我正在使用 CLLocationManager 来监控我的应用中的用户位置。下面列出了产​​生问题的步骤:-

  1. 当我第一次调用 CLLocationmanager 的 requestwheninuseauthorization 方法时,它会显示位置访问权限警报,并且我没有选择允许或不允许按钮。

  2. 现在如果手机由于闲置一段时间或被电话打断而被锁定。

  3. 我解锁手机并查看我的应用程序,该应用程序已经在前台运行并带有位置访问权限对话框,现在解锁手机后,我在我的应用程序的屏幕上找不到位置访问权限警报。它只是消失了,尽管我既没有拒绝也没有接受提供位置访问。

这可能是什么原因以及我该如何解决这个问题,否则可能是一种解决方法,因为它似乎是 iOS 的问题。根据我的要求,用户必须在使用我的应用之前提供位置访问权限。



Best Answer-推荐答案


正如 Sandeep 所暗示的,我通过在 viewDidLoad: 方法的 viewcontroller 方法中使用以下代码添加了 UIApplicationDidBecomeActiveNotification 的观察者。

[NSNotificationCenter defaultCenter] addObserver:self 
                                     selectorselector(didBecomeActive) 
                                     name:UIApplicationDidBecomeActiveNotification 
                                     object:nil];

现在我再次在 viewcontroller 的 didBecomeActive 方法中展示了位置授权对话。

    - (void)didBecomeActive {
// Here put your conditions to check that user hasn't already authorised or rejected the location access permissions.
        [self.locationManager requestWhenInUseAuthorization];
    }

因此,由于上述实现,现在每当用户解锁设备时,授权对话始终存在。

关于ios - 手机锁定后位置访问权限警报消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37742998/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4