swift – requestAccessForMediaType不要求权限

发布时间:2020-08-16 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了swift – requestAccessForMediaType不要求权限编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到我的应用程序没有请求使用相机的权限.经过一些实验,我发现用于检查权限的代码片段需要很长时间才能完成.所以我想让我的viewdidload的那部分运行在串行队列(sync)上.在开始下一行之前强制其余部分等待auth进程完成.但这并没有真正起作用.这些行按顺序开始,但仍然没有按顺序完成.

奇怪的是,如果我只是要求权限并且不执行任何操作,没有completionHandler(如下面的代码)那么他确实第二次运行完成后使用completionHandler,尽管它仍然没有显示警告用户.这可能是因为录制视频在欧洲不需要许可吗? avcapturedevice ref

如果我想逐行执行代码,我是否需要使用障碍?或同步串行队列或??

AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo,completionHandler: { nil }())

更新:

这种方法应该非常安全,但事实并非如此.返回true表示理所当然,但rawValue为3(拒绝)

func checkForAuthorizationStatus() {
        println("auth me")
        AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo,completionHandler: {
            granted in
            if granted {
                println("granted: \(granted)")
                self.deviceAuthorized = true
                println("raw value: \(AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo).rawValue)")
            } else {
                self.deviceAuthorized = false
            }

        })
    }

更新2:在下面的评论中回答.
– 重置设备上的隐私设置以获取请求.

>授权的rawValue是3而不是4

解决方法

如果它需要很长时间才能出现,那么听起来你并没有在主线程上运行它,你应该这样做.此外,如果它曾提示过一次,则不会再次提示 – 用户必须进入“设置”并启用相机访问权限.

总结

以上是编程之家为你收集整理的swift – requestAccessForMediaType不要求权限全部内容,希望文章能够帮你解决swift – requestAccessForMediaType不要求权限所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!