0

ZXing ウィジェットを使用して QRCode をスキャンしています。ユーザーが iOS 設定からカメラ アクセスを無効にすると、アプリは次のようにクラッシュします。

* キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '*デバイスが AVCaptureSessionPresetMedium をサポートしていないため、追加できません。-[AVCaptureDevice supportsAVCaptureSessionPreset:] を使用してください。

ユーザーに再度オンにするように促す方法はありますか?

ありがとう

レオ

4

2 に答える 2

1

iPad1にはカメラがないため、iPad 1でも同じエラーが発生しました。クラッシュを回避するためにこれを行いました:

if([[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo] supportsAVCaptureSessionPreset:AVCaptureSessionPresetMedium]){
    // add code to open ZXingWidgetController
} else {
    // show alert that device does not support
}
于 2013-01-17T07:36:20.847 に答える
0

次のコードを使用できます。iOS 5 以降と互換性があります。

- (BOOL)backCameraIsReady
{
    AVCaptureDevice *inputDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    NSError *inputDeviceError = nil;
    AVCaptureDeviceInput *captureInput = [AVCaptureDeviceInput deviceInputWithDevice:inputDevice error:&inputDeviceError];
    if (!captureInput) {
        return NO;
    } else {
        return YES;
    }
}
于 2014-04-14T09:39:47.020 に答える