如何从Swift App的警报中打开常规选项视图?

时间:2019-03-21 21:46:24

标签: ios swift settings uialertview openurl

我正在使用此代码尝试从我的应用中打开常规设置iOS,但这会打开设置“应用程序”视图,而不是常规视图。

let alert = UIAlertController(
    title: "IMPORTANT",
    message: "Camera access required for QR Scanning",
    preferredStyle: UIAlertController.Style.alert
)

alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "Allow", style: .cancel, handler: { (alert) -> Void in
    UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!, options: [:] )
}))
present(alert, animated: true, completion: nil)

是否可以使用正确的代码打开常规视图,以避免像使用“ App-Prefs:root = General”那样被Apple拒绝?

1 个答案:

答案 0 :(得分:0)

将用户导航到您的应用程序设置是《人机界面指南》建议的正确方法:

  

在适当的时候提供设置的快捷方式。。如果您的应用包含将用户定向到设置的文本,例如“转到设置> MyApp>隐私>位置服务”,请提供一个用于打开该位置的按钮自动。有关开发人员的指导,请参见UIApplication中的openSettingsURLString。
  https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/settings/

用户可以使用与您的应用程序相关的所有设置进行操作,包括允许和禁用对摄像机的访问(所需)。