我可以扫描所有qrcodes的网址,但是某些包含特殊字符(如“%20”)的网址未被扫描,并且会导致应用崩溃。我使用ZBarSDK进行扫描,ZBarReaderView是扫描仪。
http://www.winlogisticsmedia.com/images/bigkmr%20end%20sale.jpg
是在qrcode上制作的网址,我的应用崩溃并显示以下窗口。
P.S:还有一件事是,我认为我得到的扫描报告(文本)是一个nsstring。有没有机会将它作为一个字符串,文本由数字和特殊字符组成?
答案 0 :(得分:2)
我遇到了同样的问题。当我记录AVMetadataMachineReadableCodeObject
stringValue时,我的应用程序会崩溃。
我的原始代码会崩溃:
NSLog("%@", [machineReadableCodeObject stringValue]);
一旦我用stringByReplacingPercentEscapesUsingEncoding
解码了stringValue,它就不再崩溃了:
NSString* decodedValue = [[machineReadableCodeObject stringValue] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog("%@", decodedValue);