Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVFoundation条形码扫描仪检测AVMetadataMachineAdableCodeObject与AVMetadataFaceObject_Ios_Swift_Avfoundation_Barcode Scanner - Fatal编程技术网

Ios AVFoundation条形码扫描仪检测AVMetadataMachineAdableCodeObject与AVMetadataFaceObject

Ios AVFoundation条形码扫描仪检测AVMetadataMachineAdableCodeObject与AVMetadataFaceObject,ios,swift,avfoundation,barcode-scanner,Ios,Swift,Avfoundation,Barcode Scanner,在Swift 2.0上编译,使用10.11.3下的Xcode 7.2.1运行IOS 9.3 试图实现一个代码39条形码扫描仪,但无法想出如何在不破坏我的代码的过程中铸造这个,除非我使用这个黑客 当扫描我的条形码时,AVFoundation会同时返回AVMetadataFaceObject和AvMetadataMachineAdableCodeObject对象 如果我试图将错误的对象投射到错误的类型中,它就会崩溃,在我的一生中,我似乎找不到一种方法来找出除了这次破解之外,它正在查看哪种类型的代码

在Swift 2.0上编译,使用10.11.3下的Xcode 7.2.1运行IOS 9.3

试图实现一个代码39条形码扫描仪,但无法想出如何在不破坏我的代码的过程中铸造这个,除非我使用这个黑客

当扫描我的条形码时,AVFoundation会同时返回AVMetadataFaceObject和AvMetadataMachineAdableCodeObject对象

如果我试图将错误的对象投射到错误的类型中,它就会崩溃,在我的一生中,我似乎找不到一种方法来找出除了这次破解之外,它正在查看哪种类型的代码

辩护声明;没有撞车。尝试做/捕捉;没有撞车。试图测试该类型,但似乎没有任何效果

if metadataObjects == nil || metadataObjects.count == 0 {
        //print("No code is detected")
        return
    } else {
        let A1 = String(metadataObjects[0])
        if (A1.hasPrefix("<AVMetadataFaceObject:")) {
            print("Face -> \(A1)")
        }
        if (A1.hasPrefix("<AVMetadataMachineReadableCodeObject:")) {
            let metadataObj = metadataObjects[0] as! AVMetadataMachineReadableCodeObject
            self.lblDataInfo.text = metadataObj.stringValue
            self.lblDataType.text = metadataObj.type
            print("Machine -> \(A1) ")
        }
    }
如果metadataObjects==nil | | metadataObjects.count==0{
//打印(“未检测到代码”)
返回
}否则{
设A1=字符串(metadataObjects[0])
if(A1.hasPrefix(“\(A1)”)
}
if(A1.hasPrefix(“\(A1)”)
}
}

好的,这是可行的,但我不认为这是一个好的编码实践,我担心这是黑客行为。

你找到其他解决方案了吗?这对你来说很好吗?嗨,Mac,我希望这个工作相当好。你找到其他解决方案了吗?这对你来说很好吗?嗨,Mac,我希望这个工作相当好。