虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > IOS编程/Objective-C > iOS 请求权限封装类的实例代码

iOS 请求权限封装类的实例代码
类别:IOS编程/Objective-C   作者:码皇   来源:互联网   点击:

下面小编就为大家分享一篇iOS 请求权限封装类的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

直接上代码

    #import <Foundation/Foundation.h>#import <AVFoundation/AVFoundation.h>#import <AssetsLibrary/AssetsLibrary.h>#import <Photos/Photos.h>#import <CoreLocation/CoreLocation.h>@interface PermissionUtil : NSObject+(Boolean)JudgeCameraPermission;
    +(Boolean)JudgeLocationPermission;
    @end
    #import "PermissionUtil.h"@implementation PermissionUtil+(BOOL)isCanUsePhotos {
    if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) {
    ALAuthorizationStatus author =[ALAssetsLibrary authorizationStatus];
    if (author == kCLAuthorizationStatusRestricted || author == kCLAuthorizationStatusDenied) {
    //无权限 return NO;
    }
    }
    else {
    PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
    if (status == PHAuthorizationStatusRestricted || status == PHAuthorizationStatusDenied) {
    //无权限 return NO;
    }
    }
    return YES;
    }
    +(Boolean)JudgeCameraPermission{
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    if (authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied||![self isCanUsePhotos]) {
    return NO;
    }
    return YES;
    }
    +(Boolean)JudgeLocationPermission{
    if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)) {
    return YES;
    }
    else if ([CLLocationManager authorizationStatus] ==kCLAuthorizationStatusDenied) {
    return NO;
    }
    return NO;
    }
    @end

以上这篇iOS 请求权限封装类的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • 详解适配iOS10 的相关权限设置
相关热词搜索: iOS 请求 权限 封装 类