iOS 判断是否有权限访问手机,相册

电脑杂谈  发布时间:2019-09-09 22:02:11  来源:网络整理

强制进入相机 相册 ios_ios 相机相册_ios 相机和相册

#import <AssetsLibrary/AssetsLibrary.h>
ALAuthorizationStatus author =[ALAssetsLibrary authorizationStatus];
if (author == kCLAuthorizationStatusRestricted || author ==kCLAuthorizationStatusDenied)
{
       //无权限
}

可以注意一下下面这个

ios 相机和相册_ios 相机相册_强制进入相机 相册 ios

typedef enum {
      kCLAuthorizationStatusNotDetermined = 0, // 用户尚未做出选择这个应用程序的问候
      kCLAuthorizationStatusRestricted,        // 此应用程序没有被授权访问的照片数据。可能是家长控制权限
      kCLAuthorizationStatusDenied,            // 用户已经明确否认了这一照片数据的应用程序访问
      kCLAuthorizationStatusAuthorized         // 用户已经授权应用访问照片数据
} CLAuthorizationStatus;

iOS 8 之后推荐用 #import <Photos/Photos.h> 中的判断

强制进入相机 相册 ios_ios 相机和相册_ios 相机相册

PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if (status == PHAuthorizationStatusRestricted ||
    status == PHAuthorizationStatusDenied) {
    return NO;
}
return YES;
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
    PHAuthorizationStatusNotDetermined = 0, // 默认还没做出选择
    PHAuthorizationStatusRestricted,        // 此应用程序没有被授权访问的照片数据
    PHAuthorizationStatusDenied,            // 用户已经明确否认了这一照片数据的应用程序访问
    PHAuthorizationStatusAuthorized         //  用户已经授权应用访问照片数据
} NS_AVAILABLE_IOS(8_0);

ios 相机和相册_强制进入相机 相册 ios_ios 相机相册

- (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;
}

但实际上系统会提醒以下一张图,可以不做判断的,哈哈哈

强制进入相机 相册 ios_ios 相机相册_ios 相机和相册

英语环境下的没有权限

iOS7之前都可以访问相机强制进入相机 相册 ios强制进入相机 相册 ios,iOS7之后访问相机有权限修改,所以而是应该我们自动去修改判定。

  #import <AVFoundation/AVCaptureDevice.h>
  #import <AVFoundation/AVMediaFormat.h>
  AVAuthorizationStatus authStatus =  [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
  if (authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied)
  {
        //无权限
  }
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
        AVAuthorizationStatusNotDetermined = 0,// 系统还未知是否访问,第一次开启相机时
        AVAuthorizationStatusRestricted, // 受限制的
        AVAuthorizationStatusDenied, //不允许
        AVAuthorizationStatusAuthorized // 允许状态
} NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;

著作权归作者所有,转载或内容合作请联系作者


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-122320-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...