由谁来展示iOS的隐私对话

时间:2017-12-19 10:34:40

标签: ios privacy-policy

如果我的应用程序正在请求GPS位置,则会向用户显示一个对话框,询问权限。 我的应用程序也检查授权,如果用户不允许使用位置服务,我还会提示一个对话框通知用户进行设置。

现在的问题是,当我first启动应用时,用户还没有allow,但检查代码也已执行,因此它会在系统隐私对话框下方显示一个对话框。现在有两种情况:

  1. 用户点击Don't allow,系统对话框被解除,我的对话框出现,说app没有找到权限,这是对的。
  2. 但如果用户点击Allow,我的也会显示,因为它就在系统对话框下方。
  3. 我现在只能将两部分代码放在不同的地方,但有没有更好或更合理的方法来解决这个问题?也就是说,如果用户点击允许,我会知道。

    一些想法: 1.如果我能知道系统的隐私对话框已经呈现(不是更好的方式,因为我只想知道位置隐私 2.如何知道位置隐私对话框的演示者,因此我将使用它来检查它是否已呈现对话框 3.如何知道用户在显示隐私对话框后用户做了什么操作,用户可以点击解除。

1 个答案:

答案 0 :(得分:0)

从位置管理器实施 didChangeAuthorizationStatus 委托方法并检查授权

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
switch status {
case .NotDetermined:
    // show alert here
    break
case .AuthorizedWhenInUse:

    break
case .AuthorizedAlways:

    break
case .Restricted:
      // show alert here

    break
case .Denied:
      // show alert here
    break
default:
    break
}
}