IOS 请求权限封装类

来源:互联网 发布:怎么永久删除软件 编辑:程序博客网 时间:2024/05/18 03:12

直接上代码

#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