设备权限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!????")
有人对我如何在获得相机和麦克风权限后执行此代码有任何建议吗?
【问题讨论】:
不要尝试从viewDidLoad
或viewWillAppear
中显示警报;您的视图尚未出现在界面中。等到viewDidAppear
。
您在何时何地设置 launchBefore 值?
抱歉我说错了,原始代码在“ViewDidAppear”@matt 中。
launchedBefore 值设置在 AppDelegate 中的 StartApplication 函数中,该函数检查是否有新用户
【参考方案1】:
在权限请求之后立即做某事是相当棘手的,因为您可能会异步知道权限已被授予。我的解决方案是编写一个接受完成处理程序的实用程序函数,然后查看权限状态,如果需要,会发出权限请求警报。然后,仅当我们拥有或被授予权限时,它才会调用该完成处理程序。
【讨论】:
完整示例代码在这里:github.com/mattneub/Programming-ios-Book-Examples/blob/master/… @matt 的建议是否解决了您的具体问题?如果是,则标记为正确。如果没有,请告诉我们,我们会尽力提供帮助。以上是关于设备权限iOS后执行alertView的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )
Android 逆向修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )