Ios AVFoundation条形码扫描仪检测AVMetadataMachineAdableCodeObject与AVMetadataFaceObject
在Swift 2.0上编译,使用10.11.3下的Xcode 7.2.1运行IOS 9.3 试图实现一个代码39条形码扫描仪,但无法想出如何在不破坏我的代码的过程中铸造这个,除非我使用这个黑客 当扫描我的条形码时,AVFoundation会同时返回AVMetadataFaceObject和AvMetadataMachineAdableCodeObject对象 如果我试图将错误的对象投射到错误的类型中,它就会崩溃,在我的一生中,我似乎找不到一种方法来找出除了这次破解之外,它正在查看哪种类型的代码 辩护声明;没有撞车。尝试做/捕捉;没有撞车。试图测试该类型,但似乎没有任何效果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对象 如果我试图将错误的对象投射到错误的类型中,它就会崩溃,在我的一生中,我似乎找不到一种方法来找出除了这次破解之外,它正在查看哪种类型的代码
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,我希望这个工作相当好。