void (^allowBlock)() = ^{

UIImagePickerController *imagePicker = [[UIImagePickerController
alloc]
init];

imagePicker.delegate =
self;

imagePicker.allowsEditing =
YES;

imagePicker.sourceType =
UIImagePickerControllerSourceTypeCamera;

if (iOS8) {

imagePicker.modalPresentationStyle =
UIModalPresentationCurrentContext;

}

UIViewController *ctl = [[[UIApplication
sharedApplication]
windows]lastObject].rootViewController;

[ctl presentViewController:imagePicker
animated:YES
completion:nil];

};

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

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

if (authStatus ==
AVAuthorizationStatusNotDetermined) {

[AVCaptureDevice
requestAccessForMediaType:AVMediaTypeVideo
completionHandler:^(BOOL granted) {

dispatch_async(dispatch_get_main_queue(), ^{

if (granted) {

//第一次用户接受

allowBlock();

}else{

//用户拒绝

showAlert(@"已拒绝授权,打开相机失败");

}

});

}];

return;

}

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

showAlert(@"相机权限受限,请在设置中启用");

return;

}

allowBlock();

iOS 第一次安装应用,拒绝相机调用,页面卡死的解决方案的更多相关文章

  1. iOS开发实用技巧—项目新特性页面的处理

    iOS开发实用技巧篇—项目新特性页面的处理 说明:本文主要说明在项目开发中会涉及到的最最简单的新特性界面(实用UIScrollView展示多张图片的轮播)的处理. 代码示例: 新建一个专门的处理新特性 ...

  2. iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge

    WebViewJavascriptBridge是一个有点年代的JS与OC交互的库,使用该库的著名应用还挺多的,目前这个库有7000+star.我去翻看了它的第一版本已经是4年前了,在版本V4.1.4以 ...

  3. 致第一次安装(yong)小小输入法的你

    目录 强大全开放的外挂内置输入平台 支持各种编码 方便的词库维护功能 最温情的输入法 小鹤双拼自定义 本文的题目就参考了百度贴吧「致第一次安装 RIME 的你」,因为最近使用小小输入法,感觉很好用,所 ...

  4. Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题

    最近项目中遇到一个问题,用户第一次安装应用在系统的安装器安装完成界面有“完成”和“打开”两个按钮. 当用户点击“打开”按钮进入用户注册页面进行手机号验证码发送和验证码输入等操作界面,若此时用户点击Ho ...

  5. Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

    Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. ...

  6. 体验魅力Cognos BI 10 系列,第1 部分: 第一次安装

    体验魅力Cognos BI 10 系列,第1 部分: 第一次安装吴敏达, 信息管理软件高级技术顾问, IBM简介: 本系列教程旨在帮助您通过实际动手掌握Cognos BI 10.1 的主要功能.在这一 ...

  7. 为什么ios手机安装好fiddler证书/charles证书还是抓不到https请求?

    为什么ios手机安装好fiddler证书/charles证书还是抓不到https请求? 最近有不少人有此困惑, 因为你的ios系统应该是10.0以上的系统, 在手机系统设置---关于手机----证书信 ...

  8. 国行iphone第一次安装APP网络状况

    国行手机第一次安装APP,会有请求网络权限的一个弹框出现,在这期间APP是没有任何网络连接的. 想必大部分APP的需求和这个逻辑有冲突. 先推荐一个链接:http://www.cocoachina.c ...

  9. js调用页面打印

    ----------------------调用页面打印-------------------------------- <body> <div id="divPrint& ...

随机推荐

  1. makefile中引用其他makefile方法

    在Makefile中引用其他Makefile文件的方法是,使用inclue   filename.mk

  2. Swing 顶层容器

    顶层容器值得是容纳其他容器的容器组件,包括JFrame类,JWindows类,JDialog类,JApplet等.Swing中的顶层容器类Swing提供三个顶层容器类:JFrame,JDialog和J ...

  3. UIButton详解

    // ----------------------------------UIButton------------------------------ // UIButtonTypeSystem 点击 ...

  4. git打tag 三步骤

    git status git tag publish/1.0.0 git push origin publish/1.0.0

  5. Java基础之写文件——在通道写入过程中的缓冲区状态(BufferStateTrace)

    控制台程序,在Junk目录中将字符串“Garbage in, garbage out\n”写入到名为charData.txt的文件中. import static java.nio.file.Stan ...

  6. IDEA SDK(Software Development Kit) 介绍

    如上图标注 1 所示,IntelliJ IDEA 支持 6 种 SDK.最常用的就是 JDK 和 Android SDK,其中在创建 Android SDK 的时候如果你没有先配置一个 JDK 的话, ...

  7. interesting js

    [‎5/‎3/‎2016 4:18 PM] Calos Chen: function a(b,e){var a=0;a+=b;if(e){console.log(b+e);return;} retur ...

  8. poj 算法 分类

    转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 最近AC题:2528   更新时间:2011.09.22  ...

  9. Java基础(1):Switch语句注意的5个地方

    不得不说的几点小秘密: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case 后面的值可以是常量数值,如 1.2:也可以是一个常量表达式,如 2+2 :但不能是变量或带有变量的 ...

  10. 用C语言操纵Mysql

    以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接. typedef struct st_mysql { NET net; ...