【问题标题】:Location service permission popup is not shown in iOS 9.1iOS 9.1 中不显示位置服务权限弹出窗口
【发布时间】:2016-01-28 02:00:31
【问题描述】:

当我第一次安装我的应用程序时,我遇到了 iOS 9.1 的问题,提示用户提供位置服务权限,但警报视图一显示就会立即隐藏。因此应用程序不会检测用户的位置。虽然允许应用程序从 setting.app 访问位置工作正常。它在 iOS 9.0.2 上运行良好

【问题讨论】:

    标签: uialertview location-services ios9.1


    【解决方案1】:

    问题的根本原因可能是在弹出窗口中显示视图或视图控制器。 尝试在延迟 1-2 秒后调用位置服务权限,可能存在隐藏警报视图的动画问题。

    如果您向 appdelegate 请求位置服务许可,或者应用程序刚刚启动,则可能会出现问题,否则它将正常工作。

    【讨论】:

    • 永远不要使用定时延迟。你所做的只是转移一个问题。正确的解决方案是不要从应用程序委托中询问,而是从稍后启动的视图控制器中询问。您会得到相同的行为,但意图很明确。如果您延迟 1 秒,然后再更改视图控制器以使其稍后启动,该怎么办?该错误会重新出现。
    【解决方案2】:

    现在在 plist 文件中添加位置权限 如果不在 plist 中添加权限,则不会显示权限弹出窗口

    在 plist 中添加以下权限

    1.隐私-使用时的位置使用说明

    2.Privacy - Location Always 使用说明

    【讨论】:

      【解决方案3】:

      我有同样的问题。我解决了,但添加了

      隐私 - 始终定位和使用时使用说明, 隐私 - 使用时的位置使用说明

      到我的 plist 还有

      您必须在使用定位服务之前调用 requestWhenInUseAuthorization() 方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-20
        • 2019-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-28
        • 2018-10-24
        • 1970-01-01
        相关资源
        最近更新 更多