2016-11-15 5 views
0

私はAVFoundationを使ってバーコードスキャナーアプリを開発しています。私のアプリは正常にバーコードデータをキャプチャしますが、FaceObjectTypeを検出するとクラッシュします。クラッシュを防ぐために、このタイプを検出から除外するにはどうすればよいですか?私はこのバーコードスキャニング除外AVmetadaTypeFace

captureMetadataOutput.metadataObjectTypes = [captureMetadataOutput availableMetadataObjectTypes]; 

を使用してい

すべてのヘルプは非常に感謝しています!ありがとう

+0

誰もが理想的なを持っていますか? –

+0

バーコードやQRコードをスキャンする際にfaceObjectを避けるにはどうすればよいですか? –

+0

いずれかが更新されましたか? –

答えて

0

少し遅れましたが、私はそれが同じ問題を抱えている人に役立つと思います。 クラッシュを防止するために、あなたはAVMetadataObject(https://developer.apple.com/documentation/avfoundation/avmetadataobject)を処理する必要があるので、このための私の提案は以下の通りです(SWIFT 3.0)

for metadataObject in metadataObjects { 
    if (metadataObject as AnyObject).type == AVMetadataObjectTypeFace { 
       return 
      } 
     } 
0

あなたはこの

NSArray *supportedType =[NSArray arrayWithObjects: 
         AVMetadataObjectTypeCode39Code, 
         AVMetadataObjectTypeCode39Mod43Code, 
         AVMetadataObjectTypeCode93Code, 
         AVMetadataObjectTypeCode128Code, 
         AVMetadataObjectTypeEAN8Code, 
         AVMetadataObjectTypeEAN13Code, 
         AVMetadataObjectTypeAztecCode, 
         AVMetadataObjectTypePDF417Code, 
         AVMetadataObjectTypeQRCode, nil]; 

captureMetadataOutput.metadataObjectTypes = supportedType; 
を使用することによってサポートされているオブジェクトのタイプを修正します

の代わりに

captureMetadataOutput.metadataObjectTypes = [captureMetadataOutput availableMetadataObjectTypes]; 

これは役に立ちます。

関連する問題