iOS 10에서 requestAccessForMediaType 충돌

테자 난다 무리

내 앱에서 신용 카드를 스캔하기 위해 card.io를 사용하고 있습니다. iOS 9에서 잘 작동합니다. iOS 10에서 앱이 충돌하고 xcode 8 베타 2 콘솔에서 많은 가비지 메시지를 표시하기 때문에 충돌 로그를 찾을 수 없습니다.

그런 다음 개인 정보-> 설정을 확인하여 내 앱에서 카메라가 비활성화되어 있는지 확인했지만 내 앱이 해당 섹션에 나열되지 않았습니다 .iOS 10이 내 앱이 카메라를 사용할 수 있도록 권한을 부여하지 않는 것 같습니다.

다음 코드를 사용하여 권한을 요청합니다.

-(BOOL)checkCameraPermissions{

    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    if(authStatus == AVAuthorizationStatusAuthorized)
    {
        // start card-io
        return YES;
    }
    else if(authStatus == AVAuthorizationStatusNotDetermined)
    {

        [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted)
         {
             if(granted)
             {
                 //Start card-io
                 [self testIsNewCard];
             }

         }];
    }
    else if (authStatus == AVAuthorizationStatusRestricted)
    {
        //Alert
        // Alert camera denied

        UIAlertController *aCon=[UIAlertController alertControllerWithTitle:@"Camera denied" message:@"Camera cannot be used" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *ok =[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            [aCon dismissViewControllerAnimated:YES completion:nil];
        }];
        [aCon addAction:ok];
        [self presentViewController:aCon animated:YES completion:nil];

        return NO;

    }

    return NO;

}

이 코드를 실행하면 authStatus가 다음과 같이 반환됩니다. AVAuthorizationStatusNotDetermined

그리고 앱이 블록에 들어간 직후 충돌했습니다. requestAccessForMediaType:AVMediaTypeVideo

콘솔에 너무 많은 가비지 로그가 표시되고 충돌 메시지를 찾을 수있는 단서가 없습니다.

편집 : xcode 8에서 모든 불필요한 로그를 비활성화하는 옵션을 찾았 습니다. 여기에 게시 된 답변 . 그러나 여전히 xcode는 역 추적 디버깅을 비활성화 한 후에도 크래시 로그를 표시하지 않았습니다.

내 xcode8은이 메시지를 표시하고 앱이 종료됩니다.

  App[1124:226447] [access] <private>

또한 위치 및 개인 정보를 재설정하려고 시도했지만 미디어 액세스를 요청하려고 할 때 여전히 앱이 충돌합니다.

왜 이런 일이 발생하는지 아이디어가 있습니까?

펄스 포 라이프

내 info.plist 파일에 "Privacy - Camera Usage Description" 추가 했는데 이제 작동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

iOS 10에서 ABAddressBookRequestAccessWithCompletion이 충돌 함

분류에서Dev

iOS-Simulator에서 충돌

분류에서Dev

iOS-Simulator에서 충돌

분류에서Dev

iOS 7에서 UIGraphics 충돌

분류에서Dev

iOS 앱에서 충돌

분류에서Dev

iOS 8에서 GPUImage 충돌

분류에서Dev

iOS 10에서 '문자열'이있는 Realm 충돌

분류에서Dev

Xamarion.iOS CoreBluetooth BLE 앱이 iPhone 10에서 충돌합니다.

분류에서Dev

iOS 10에서 UILocalNotification이 충돌합니까?

분류에서Dev

iOS 10 베타에서 연락처 주소록 충돌

분류에서Dev

iOS 13 및 14에서 NSKeyValuePopPendingNotificationLocal 충돌

분류에서Dev

IOS 7에서 VFR 리더 충돌

분류에서Dev

iOS 7에서만 UIImagePickerController 충돌-iPad

분류에서Dev

nsuserdefaults setobject가 iOS에서 충돌 함

분류에서Dev

removeFromParent에서 Sprite Kit iOS 7.1 충돌

분류에서Dev

iOS의 OpenGLES에서 그리기 충돌

분류에서Dev

iOS-UITableView 충돌에서 행 삭제

분류에서Dev

Xamarin iOS에서 UIRefreshControl이 충돌 함

분류에서Dev

iOS 충돌 보고서-충돌 장소를 찾는 방법

분류에서Dev

충돌 보고서 해독-iOS-xCode

분류에서Dev

SDL 및 iOS main () 메서드 충돌

분류에서Dev

iOS 10에서 래스터 PDF를 열 때 DrawPDFPage가 SIGSEV 충돌을 일으킴

분류에서Dev

VisionKit 프레임 워크 iOS 13에서 iOS 앱 충돌

분류에서Dev

ios8 작업 중 ios7에서 Spritekit SKPhysicsBody 충돌

분류에서Dev

iOS 9에서만 [__NSCFDictionary setObject : forKey :]에서 앱 충돌

분류에서Dev

iOS KeyChain secItemAdd 충돌

분류에서Dev

충돌 iOS 앱에서 호출되는 메서드

분류에서Dev

iOS 12에서 시작 화면 후 Xamarin 앱 충돌

분류에서Dev

Textformfield 복사 붙여 넣기에서 Flutter iOS 14 충돌

Related 관련 기사

뜨겁다태그

보관