2013-02-26 215 views
1

大家好我能够扫描所有qrcodes的urls但是一些包含特殊字符,如“%20”的URL没有得到扫描,它崩溃了应用程序。我正在使用ZBarSDK进行扫描,而ZBarReaderView则是扫描仪。我的qrcode扫描器无法扫描特定的URL包含特殊字符

http://www.winlogisticsmedia.com/images/bigkmr%20end%20sale.jpg是在qrcode上生成的URL,我的应用程序崩溃并显示下面的窗口。

Crash Window

P.S:-One更多的是,我想上我正在扫描报告(文本)是一个的NSString。是否有任何与它有关的机会作为其字符串,文本由数字和特殊字符组成。

crash report of thread

+0

你能告诉我们,当它崩溃正在调用线程? (在屏幕的左侧部分,您在上面的屏幕截图中看到“线程1”(出现应用程序崩溃时出现),请单击说“6 - ...”“7 - ...”和“8 - ...“我认为是什么导致你的崩溃我在那里被发现...... – 2013-02-26 03:35:19

+0

我认为当qrcode扫描器读取文本时,它占据了%20,这是一个空格,所以它在这一点上变为null。 – Saty 2013-02-26 03:42:35

+0

I不明白?对于所请求截图的混淆感到抱歉......哈哈我的意思是说你可以点击那些说“6 - [扫描readerView:......”和“7 -...” “8 -...”以及它带来的代码的后屏幕截图(或发布代码) – 2013-02-26 03:46:05

回答

2

我有同样的问题。当我登录AVMetadataMachineReadableCodeObject stringValue时,我的应用程序会崩溃。

我的原代码,会崩溃:

NSLog("%@", [machineReadableCodeObject stringValue]); 

一旦我解码的stringValue的与stringByReplacingPercentEscapesUsingEncoding现在不崩溃:

NSString* decodedValue = [[machineReadableCodeObject stringValue] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSLog("%@", decodedValue);