如何知道iOS中是否显示了“位置服务”对话框?

时间:2017-11-20 14:02:27

标签: ios swift location-services

据我了解,下图中的对话框仅在应用首次询问位置时显示。无论用户选择哪种选项(允许或不允许),该对话框都不会再次显示给用户。

  • 有没有办法知道iOS中是否已显示位置服务提示对话框?
  • 我还想编写一些UI测试,所以每次运行测试时我都需要能够显示这个对话框。我能以某种方式(通过嘲笑或其他方式)这样做吗?

(图片来自here。)

Location Services prompt dialog

1 个答案:

答案 0 :(得分:1)

在此枚举中检查CLAuthorizationStatus,您可以找到在用户尚未做出选择时返回的名为notDetermined的值。

// User has not yet made a choice with regards to this application
case notDetermined

示例

    if(self.locationManager.authorizationStatus == .notDetermined)
    {
        //Do whatever you want here
    }