【问题标题】:Execute alertView after device permissions iOS设备权限iOS后执行alertView
【发布时间】:2017-01-27 18:50:48
【问题描述】:

我正在尝试在用户首次启动应用程序时为他们提供警报视图,以指导他们如何使用它。我正在使用吊舱“SCAlertView”。当我将代码放在 viewDidLoad() 或 ViewWillAppear() 部分时,代码不会执行,但是当我在权限后测试时,代码会被执行。 下面是代码

override func viewDidLoad() {
    super.viewDidLoad()

    if  defaults.bool(forKey: "launchedBefore") == false{
        let alert = SCLAlertView()
        alert.showInfo("Welcome to \(appName)", subTitle: "Swipe up on the bottom green button to find all your tools to navigate the app!????")
    }

有人对我如何在获得相机和麦克风权限后执行此代码有任何建议吗?

【问题讨论】:

  • 不要尝试从viewDidLoadviewWillAppear 中显示警报;您的视图尚未出现在界面中。等到viewDidAppear
  • 您在何时何地设置 launchBefore 值?
  • 抱歉我说错了,原始代码在“ViewDidAppear”@matt 中。
  • launchedBefore 值设置在 AppDelegate 中的 StartApplication 函数中,该函数检查是否有新用户

标签: ios swift3 uialertview info.plist ios-permissions


【解决方案1】:

在权限请求之后立即做某事是相当棘手的,因为您可能会异步知道权限已被授予。我的解决方案是编写一个接受完成处理程序的实用程序函数,然后查看权限状态,如果需要,会发出权限请求警报。然后,仅当我们拥有或被授予权限时,它才会调用该完成处理程序。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
  • 2021-05-12
  • 2015-08-02
  • 2016-11-10
  • 2013-12-13
  • 2015-09-04
相关资源
最近更新 更多