iOS权限问题

判断相机权限:

NSString *mediaType = AVMediaTypeVideo;
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
if(authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied){
                   //相机权限受限制
}
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
    AVAuthorizationStatusNotDetermined = 0,    请问是否授权访问
    AVAuthorizationStatusRestricted,     权限都限制
    AVAuthorizationStatusDenied,    拒绝访问
    AVAuthorizationStatusAuthorized     授权访问
} NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;

判断相册权限:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
    if (status == PHAuthorizationStatusDenied || status == PHAuthorizationStatusRestricted) {
        //相册权限受限制
    }
}
else{
    ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
    if (status == ALAuthorizationStatusDenied || status == ALAuthorizationStatusRestricted) {
         //相册权限受限制
    }
}
ALAuthorizationStatus 在iOS9之后废弃了,PHAuthorizationStatus 是ios8新增的替代 ALAuthorizationStatus 的方法。
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
    PHAuthorizationStatusNotDetermined = 0,
    PHAuthorizationStatusRestricted,
    PHAuthorizationStatusDenied,
    PHAuthorizationStatusAuthorized
} NS_AVAILABLE_IOS(8_0);
typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
    ALAuthorizationStatusNotDetermined
    ALAuthorizationStatusRestricted
    ALAuthorizationStatusDenied
    ALAuthorizationStatusAuthorized
} NS_DEPRECATED_IOS(6_0, 9_0, "Use PHAuthorizationStatus in the Photos framework instead");
时间: 2024-10-01 11:23:58

iOS权限问题的相关文章

33 个 2017 年必须了解的 iOS/swift 开源库第三方库

本文翻译自Medium,原作者为 Pawe? Bia?ecki 照片版权:(Unsplash/Markus Pe) 你好,iOS 开发者们!我的名字叫 Pawe?,我是一个独立 iOS 开发者,并且是 Enter Universe 的作者. 接近两年前我发布了 27 个iOS开源库,让你的开发坐上火箭吧.这是我在这里最棒的文章了(根据 Medium 用户的反馈来看): 如果有 15.5 万人 很担心能否跨越网络上连山排海般的文字找到最棒的 iOS 开源库,那我来传递. 跟 33 个 pod 打个

iOS 设计 用户为王 - 关于征询授权、注册及加载等待的体验优化

你要做的东西一定要是你无比渴望这世界上能出现的东西,这股热情和能量将会融入到你的应用中,成为它腾飞的初速度,为你带来积极反馈.把自己当做app最重要的用户,这一点非常重要. http://www.cocoachina.com/design/20150610/12096.html 作为一名移动app的产品设计师,我(英文原文作者)每周都会下载很多app来试用,看看有哪些细处的交互模式或是惊艳的视觉设计能给自己带来启发.有时,你确实能发现一些app有着不错的想法,但是更多时候,你只觉得失望,因为看到

在iOS 11上出现libsystem_kernel.dylib`__abort_with_payload崩溃问题的解决

crash日志内容 libsystem_kernel.dylib`__abort_with_payload: 0x11286b0a0 <+0>:  movl   $0x2000209, %eax          ; imm = 0x2000209 0x11286b0a5 <+5>:  movq   %rcx, %r10 0x11286b0a8 <+8>:  syscall ->  0x11286b0aa <+10>: jae    0x11286b0

某银行系统ACS认证之TACACS+认证方案

中国XX银行河北省分行 ACS项目实施方案 TACACS+认证 目录 项目背景........................................................................ 3 资源配置........................................................................ 3 实验网络架构...................................................

AAA 级别授权

当用Cisco ACS作为radius认证服务器为网络设备做用户登录认证时,默认情况下用户并没有15级权限,不管是ACS内部用户还是关联的AD里面的用户.如果是用tacacs+作为认证协议,可以通过修改shell privilege level来进行用户级别授权,但是如果用radius认证没有这个选项,需要我们通过定义cisco av-pair来设置用户级别.当添加radius client端的时候,Authenticate Using需要选择RADIUS(Cisco IOS/PIX 6.0)才

iOS-资源大全

本文由 伯乐在线 - ARIGATO 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:vsouza.欢迎加入翻译组. 这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Testing )和其他的开源项目,免费的和付费的服务.每个部分中的项目没有先后顺序,均是按照提交的先后顺序排列的. Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的

微信支付开发(APP)的各种坑,.net和iOS的各种陷阱,解决.net调用下单接口提示无权限,解决iOS跳转到微信支付页面中间只有一个确定按钮

直入主题之前,请容我吐槽一下微*的官方东西:ASDFQ%#$%$#$%^[email protected]#$%DSFQ#$%.......:吐槽玩了!大家心照就好. 要完成手机APP跳转到微信的APP进行微信支付,需要进行如下操作: 1.先去微信的开放平台(http://open.weixin.qq.com)进行开发者账号的注册. 2.新建一个APP应用,然后填写必填信息提交审核. 3.进入APP应用,在接口信息中,进行申请“获得微信支付能力”的功能,期间会提交相关的公司营业信息证明等. 通过

《iOS应用逆向工程》学习笔记(三)iOS文件权限

一个组可以包含多个用户,一个用户可以属于多个组. iOS中的每个文件都有一个属主用户和属主组.每个文件都具有一系列的权限. 在iOS中用3bit表示文件的使用权,从高位到低位分别是r(read), w(write), x(execute)权限. 文件和用户的关系存在三种可能性:(1)此用户是属主用户:(2)此用户不是属主用户,但在属主组里:(3)此用户既不是属主用户,也不在属主组里. 例如: 111101101代表rwxr-xr-x,其8进制为755,它表示该文件的属主用户拥有r, w, x权限

iOS 10 隐私权限设置

iOS 10 开始对隐私权限更加严格,如果你不设置就会直接崩溃,现在很多遇到崩溃问题了,一般解决办法都是在info.plist文件添加对应的Key-Value就可以了. 以上Value值,圈出的红线部分的文字是展示给用户看的,必须添加.