XCode – EXC_BAD_ACCESS。 –

我试图把Stefanhafeneger的条形码源代码join到我的项目中。 我用一个简单的相机例子和条形码引擎开始,第一个条形码解码的一切正常。 当我第二次尝试时,我收到EXC_BAD_ACCESS。 它只会在应用程序崩溃之后运行一次。

这里是应用程序崩溃的屏幕录制。

我正在testing这个DataMatrix标签从谷歌在我的应用程序。

UfoDesign DataMatrix

我正在冲浪的解决scheme了几天,我曾尝试NSZombieEnabled,并与仪器debugging,但我仍然没有运气。 下面的图片是来自xcode的错误。

*** -[Not A Type retain]: message sent to deallocated instance 0x7b21ed0 

debugging1debugging2

为了您的信息,它是一个启用ARC的项目。 有人请帮忙,我还是几个月大的初学者。

这是我的这个项目Barcode-Datamatrix Project的 xCode文件

更新:我也尝试通过使用链接器标志-fno-objC-arc而禁用与该库相关的每个文件的ARC,但结果仍然相同。 除了我试过imageView.image = [UIImage imageWithCGImage:image.CGImage]; 或复制imageView.image = [image copy]; 该应用程序仍然崩溃在同一个地方。

非常感谢

[Not A Type retain]表示您将一个不是UIImage的对象传递给UIImageView的image属性,然后该方法尝试识别它的types,以在imagevVew.image = image行发送retain。 NSLog它的typesNSLog("%@", NSStringFromClass([image class]));

编辑:我build议你将这样一个旧项目转换为弧(我引用:“它是链接对ios 2.1”)。 使用链接器标志-fno-objC-arc并为与该项目相关的每个文件禁用ARC。 之后,检查你的imageView是不是很时髦,尝试将您的图像设置为零,或者删除线,并运行。

BarCode Engine可能不会启用ARC。

要禁用一些不支持ARC支持的文件,我们可以向编译器显示,通过这个命令让ARC禁用

 -fno-objc-arc 

把这个命令放在所有已编译源文件(即项目名称中的所有类将显示)的项目构build阶段,

ZBarSDK是相当简单,易于使用和更强大的API这个条码,二维码解码。