読者です 読者をやめる 読者になる 読者になる

カメラ許可を確認するの巻

カメラアクセスの許可についてコード側から確認するサンプルを作成したので、載せておきます。

#import <AssetsLibrary/AssetsLibrary.h>
#include <AVFoundation/AVFoundation.h>


+ (BOOL)checkPermissionOfCamera {
    NSString *mediaType = AVMediaTypeVideo;
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
    //機能制限 or 拒否
    if((authStatus == AVAuthorizationStatusRestricted) || (authStatus == AVAuthorizationStatusDenied)) {
        [self showAlertview:@"カメラへのアクセスが未許可です。\n設定 > プライバシー > でカメラを許可してください。"];
        return false;
    }
    //未選択
    else if(authStatus == AVAuthorizationStatusNotDetermined) {
        [AVCaptureDevice requestAccessForMediaType:mediaType completionHandler:^(BOOL granted) {
            dispatch_async(dispatch_get_main_queue(), ^{
                if(!granted) {
                    //許可されなかった
                    [self showAlertview:@"カメラへのアクセスが未許可です。\n設定 > プライバシー > でカメラを許可してください。"];
                }
            });
            
        }];
    }
    return true;
}