【发布时间】:2019-08-07 11:25:37
【问题描述】:
扫描这个(https://www.barcoderobot.com/static/bcgen/01026/478064310081_3b120.jpg?preview=True)条码我们应该得到如下结果:47806431008
使用iOS7 api读取条码,结果如下:047806431008
任何想法如何处理这个?
部分代码:
CGRect highlightViewRect = CGRectZero;
AVMetadataMachineReadableCodeObject *barCodeObject;
NSString *detectionString = nil;
NSArray *barCodeTypes = @[AVMetadataObjectTypeUPCECode, AVMetadataObjectTypeCode39Code, AVMetadataObjectTypeCode39Mod43Code,
AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeCode93Code, AVMetadataObjectTypeCode128Code,
AVMetadataObjectTypePDF417Code, AVMetadataObjectTypeQRCode, AVMetadataObjectTypeAztecCode];
for (AVMetadataObject *metadata in metadataObjects) {
for (NSString *type in barCodeTypes) {
if ([metadata.type isEqualToString:type])
{
barCodeObject = (AVMetadataMachineReadableCodeObject *)[_prevLayer transformedMetadataObjectForMetadataObject:(AVMetadataMachineReadableCodeObject *)metadata];
highlightViewRect = barCodeObject.bounds;
detectionString = [(AVMetadataMachineReadableCodeObject *)metadata stringValue];
break;
}
}
if (detectionString != nil)
{
[_session stopRunning];
[self scanResult:detectionString];
break;
}
【问题讨论】:
-
google 截断 nsstring。如果第一个数字为零,则删除它
-
这并不能解决我的问题,因为苹果以后可以解决这个问题,如果数字真的是 0 我就会有问题。
标签: ios ios7 barcode-scanner