设备权限iOS后执行alertView

Posted

技术标签:

【中文标题】设备权限iOS后执行alertView【英文标题】:Execute alertView after device permissions iOS 【发布时间】: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 函数中,该函数检查是否有新用户 【参考方案1】:

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

【讨论】:

完整示例代码在这里:github.com/mattneub/Programming-ios-Book-Examples/blob/master/… @matt 的建议是否解决了您的具体问题?如果是,则标记为正确。如果没有,请告诉我们,我们会尽力提供帮助。

以上是关于设备权限iOS后执行alertView的主要内容,如果未能解决你的问题,请参考以下文章

adb-获取设备的最高权限root

iOS安全攻防之越狱设备检测

Android 逆向修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )

Android 逆向修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )

删除并重新安装应用后,重新生成推送通知权限的 iOS 系统警报

添加到授予权限后未立即执行的联系人