2016-11-15 77 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]; 

這會有所幫助。