iOS開發調用相機時出現黑屏的解決辦法(原因:沒有擷取到相機許可權)

來源:互聯網
上載者:User

標籤:版本   解決   restrict   share   col   開啟   ali   ios   nil   

 

iOS開發調用相機時出現黑屏的解決辦法(原因:沒有擷取到相機許可權)

在開發過程中調用系統相機,但是頁面出現黑屏,原因是自己只進行了部分的相機許可權的判斷沒有根據系統的版本判斷,

 

 

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {                AVAuthorizationStatus authStatus =  [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];                if (authStatus == AVAuthorizationStatusDenied || authStatus == AVAuthorizationStatusRestricted)        {            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"開啟相機許可權" message:nil preferredStyle:UIAlertControllerStyleAlert];            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"去設定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {                NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];                if([[UIApplication sharedApplication] canOpenURL:url]) {                    [[UIApplication sharedApplication] openURL:url];                }            }];            UIAlertAction *canleAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];            [alert addAction:okAction];            [alert addAction:canleAction];            [self presentViewController:alert animated:YES completion:nil];            return;                   }    }else{        ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];        if (author == kCLAuthorizationStatusRestricted || author == kCLAuthorizationStatusDenied)        {            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"開啟相機許可權" message:nil preferredStyle:UIAlertControllerStyleAlert];            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"去設定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {                NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];                if([[UIApplication sharedApplication] canOpenURL:url]) {                    [[UIApplication sharedApplication] openURL:url];                }            }];            UIAlertAction *canleAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];            [alert addAction:okAction];            [alert addAction:canleAction];            [self presentViewController:alert animated:YES completion:nil];            return;        }    }

 

 

 

 

iOS開發調用相機時出現黑屏的解決辦法(原因:沒有擷取到相機許可權)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.