版本记录

版本号

时间

V1.0

2017.07.21

前言

功能需求

判断照相机和麦克风的权限。

功能实现

下面我们就用#import 这个库,来获取照相机和麦克风的权限。

下面我们就直接看代码。

#import "JJAuthorityVC.h"

#import

@interface JJAuthorityVC ()

@end

@implementation JJAuthorityVC

#pragma mark - Override Private Function

- (void)viewDidLoad

{

[super viewDidLoad];

self.view.backgroundColor = [UIColor lightGrayColor];

}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

//判断照相机和,麦克风权限

NSString *mediaType = AVMediaTypeVideo;//读取媒体类型

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];//读取设备授权状态

if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){

NSString *errorStr = @"应用相机权限受限,请在设置中启用";

[self pushAlertWithMessage:errorStr];

return;

}

else {

[self pushAlertWithMessage:@"可以使用相机"];

}

mediaType = AVMediaTypeAudio;//读取媒体类型

authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];//读取设备授权状态

if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){

NSString *errorStr = @"麦克风权限受限,请在设置中启用";

[self pushAlertWithMessage:errorStr];

return;

}

else{

[self pushAlertWithMessage:@"可以使用麦克风"];

}

}

#pragma mark - Object Private Function

- (void)pushAlertWithMessage:(NSString *)message

{

UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:message preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *ensureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

return;

}];

[alertVC addAction:ensureAction];

[self presentViewController:alertVC animated:YES completion:nil];

}

@end

在运行代码后,会发现控制台打印如下消息。

2017-07-21 20:20:03.718718+0800 JJOC[4737:1350171] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles

2017-07-21 20:20:03.720009+0800 JJOC[4737:1350171] [MC] Reading from public effective user settings.

找到原因,其实是info.plist中需要配置一下权限问题,如下图所示。

这里配置的就是相机和麦克风的权限。

配置权限

细看会发现,这里面有很多有关权限方面的配置,更体现了苹果对应安全性的重视。

配置权限

功能效果

下面看一下功能效果。

功能效果

这里的功能效果,是已经默认有了权限,提示可以使用相机,在具体工程中,如果在设置中关闭了这两个权限,就会提示应用相机权限受限,请在设置中启用和麦克风权限受限,请在设置中启用。

后记

未完,待续~~~~

夜景

允许网站使用相机和麦克风_实用小技巧(十九):获取相机和麦克风权限相关推荐

  1. python控制相机自动拍照_微信小程序实现倒计时调用相机自动拍照功能

    这篇文章主要为大家详细介绍了微信小程序实现倒计时调用相机自动拍照功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了微信小程序定时拍照的具体代码,供大家参考,具体内容如下 在某 ...

  2. 5弹出搜索框_实用小技巧,电脑总是弹出广告,手把手教你永久关闭广告弹窗...

    在使用电脑时,总是会遇到各种各样的广告弹窗.这些广告弹窗往往附属在某些实用上件,因此我们又不能卸载相应的软件.在电脑开机或者当我们正在编辑文档时,这些莫名其妙的广告弹窗很影响心情,下面教大家如何永久关 ...

  3. python中拼音怎么用_实用小技巧,Python一秒将汉字转为拼音

    大家好,欢迎来到Crossin的编程教室! 有时在处理文件时候,我们需要将中文汉字转换为拼音或者拼音首字母的需求:还有的时候,我们需要对汉字进行按拼音字母排序(汉字的默认排序是编码序而非拼音序).针对 ...

  4. python将汉字转为拼音字母_实用小技巧,Python一秒将汉字转为拼音

    大家好,欢迎来到Crossin的编程教室! 有时在处理文件时候,我们需要将中文汉字转换为拼音或者拼音首字母的需求:还有的时候,我们需要对汉字进行按拼音字母排序(汉字的默认排序是编码序而非拼音序).针对 ...

  5. python拼音名_实用小技巧,Python一秒将全部中文姓名转为拼音!

    有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三种Python实现的方法,最后给一个批量操作的代码案例!一.xpinyin 开门见山,Python中文字转拼音可以 ...

  6. python 拼音姓名排序_实用小技巧,Python一秒将全部中文姓名转为拼音!

    有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三种Python实现的方法,最后给一个批量操作的代码案例! 一.xpinyin 开门见山,Python中文字转拼音可 ...

  7. mysql建表测试_总结MySQL建表、查询优化实用小技巧

    MySQL建表阶段是非常重要的一个环节,表结构的好坏.优劣直接影响着后续的管理维护,赶在明天上班前分享总结个人MySQL建表.MySQL查询优化积累的一些实用小技巧. 技巧一.数据表冗余记录添加时间与 ...

  8. cad黑色背景变成白色_盘点CAD中你可能不知道的实用小技巧

    相信对很多设计师朋友和刚学设计的小白来说CAD制图都是设计中用的较多的一个制图软件了,可是你知道吗在众多命令中其实有很多小技巧可以给我们节省不少时间呢,下面我就说说有那些实用小技巧吧! 1.文字镜像如 ...

  9. 苹果xr十大隐藏功能_别再说苹果“悬浮球”功能不好用,隐藏的实用小技巧,每天用得上...

    苹果手机悬浮球以为没用,没想到有这么多实用功能,厉害了 手机快捷键的发明,让很多人觉得自带的"悬浮球"功能没什么用,不小心误触就会跳转到其他页面,不少人觉得不好用,就将其关闭,其实 ...

最新文章

  1. ping不通是不是就真不通?
  2. android 带记忆功能的播放器源码,Android实现阅读进度记忆功能
  3. java8 jni_Java中JNI的使用详解第八篇:重载的实现
  4. 网络配置之ifconfig及Ip命令详解
  5. dataguard中MRP无法启动的问题分析和解决
  6. python获取cookies
  7. kubernetes(k8s)安装部署
  8. 寒门问题少年到计算机博士,硅谷穷小子是如何成为“创业之神”
  9. 大家有用 hackerrank 刷过题吗,这家公司出了一个题来让大家测测自己有多牛
  10. php 星号邮箱,PHP以星号隐藏用户名手机号码和邮箱实例
  11. C4D 展UV的那些坑
  12. Angluar编译过程中出现的TS2339问题
  13. 波形图控件html,[转载]LabVIEW中的波形图(Waveform Chart)详解
  14. untiy 串口通信
  15. 快速接入高德地图SDK(地图+定位+标记+路线规划+搜索)
  16. 互联网APP监控即时报警解决初步方案
  17. POJ 3426 Doors and... more doors 可能会
  18. flex实现在交叉轴上的排列
  19. 对付“网络特工”软件的无可奈何的方法
  20. 18位身份证号码规则及js验证

热门文章

  1. css3新增样式(文本效果--text-shadow 文本阴影)
  2. Dimension作用?
  3. OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
  4. AutoEventWireup介绍
  5. java主流框架使用排行,深度解析,值得收藏
  6. 正点原子开拓者FPGA,程序固化下载到板子里面
  7. 点燃你的工作激情_马云励志语录
  8. did you specify the right host or port?
  9. 打开cad文件的几种方法
  10. 关于在wrod里如何重新排版网页复制内容